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

एसक्यूएल संचयी गणना

कर्सर के बजाय सीटीई के साथ इसे करने का एक तरीका यहां दिया गया है:

WITH Base AS
(
    SELECT ROW_NUMBER() OVER (ORDER BY [Count] DESC) RowNum,
    [Dept],
    [Count]
    FROM SR
)
SELECT SR.Dept, SR.Count, SUM(SR2.[Count]) Total
FROM Base SR
INNER JOIN Base SR2
    ON SR2.RowNum <= SR.RowNum
GROUP BY SR.Dept, SR.Count
ORDER BY SR.[Count] DESC

ध्यान दें कि यह अवरोही Count . द्वारा क्रमित कर रहा है जैसे आपका नमूना परिणाम करता है। यदि कोई अन्य कॉलम है जो नहीं दिखाया गया है जिसका उपयोग ऑर्डर करने के लिए किया जाना चाहिए तो बस Count को बदलें प्रत्येक ORDER BY . में खंड।

SQL Fiddle Demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में एक-से-एक संबंध को परिभाषित करना

  2. ssms में संग्रहीत कार्यविधि को संशोधित करने के लिए शॉर्टकट कुंजी

  3. SQL सर्वर प्रबंधन स्टूडियो और Transact SQL में GO का क्या उपयोग है?

  4. प्राथमिक कुंजी बाधा का उल्लंघन

  5. आप एक बड़ी MS SQL .sql फ़ाइल कैसे आयात करते हैं?