Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

Sql सर्वर 2012 में पुनरावर्ती क्षय औसत

एक संभावित विकल्प होगा

WITH T AS
(
SELECT      
 Value * POWER(5E-1, ROW_NUMBER() 
                     OVER (ORDER BY Row DESC)
               /* first row decays less so special cased */
              -IIF(LEAD(Value) OVER (ORDER BY Row DESC) IS NULL,1,0))
       as x
FROM Sample
)
SELECT SUM(x)
FROM T

SQL Fiddle

या अद्यतन प्रश्न के लिए 60%/40% का उपयोग कर

WITH T AS
(
SELECT   IIF(LEAD(Value) OVER (ORDER BY Row DESC) IS NULL,  1,0.6)
         * Value 
         * POWER(4E-1, ROW_NUMBER() OVER (ORDER BY Row DESC) -1)
       as x
FROM Sample
)
SELECT SUM(x)
FROM T

SQL Fiddle

उपरोक्त दोनों डेटा के माध्यम से एक ही पास करते हैं और संभावित रूप से Row INCLUDE(Value) पर एक इंडेक्स का उपयोग कर सकते हैं एक प्रकार से बचने के लिए।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. परिणामसेट का उपयोग करके एकाधिक रिकॉर्ड प्रदर्शित करना

  2. एसक्यूएल सर्वर इंडेक्स में प्राथमिक कुंजी शामिल है?

  3. मैं टीएसक्यूएल में प्रिंट बफर कैसे फ्लश करूं?

  4. SQL सर्वर एजेंट जॉब (T-SQL) के जॉब स्टेप्स प्राप्त करने के 3 तरीके

  5. SQL सर्वर से txt फ़ाइल में मान निर्यात करें