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

SQL के साथ सभी ग्राहकों के लिए रनिंग काउंट और रनिंग टोटल की गणना करना

आपको ROW_NUMBER . का उपयोग करना चाहिए (लिंक ) COUNT . के बजाय :

DECLARE @Threshold NUMERIC(19,2)=1000; -- Use the same data type as `[AMT]`'s data type

Select
  [DID]
, [AMT]
, [Gf_Date]
--, COUNT([GID]) OVER (PARTITION BY [DID] ORDER BY [Gf_Date]) [RunningGift_Count]
, ROW_NUMBER() OVER (PARTITION BY [DID] ORDER BY [Gf_Date]) [RunningGift_Count]
, SUM([AMT]) OVER (PARTITION BY [DID] ORDER BY [Gf_Date]) [CumlativeTotal]
, CASE
      WHEN SUM([AMT]) OVER (PARTITION BY [DID] ORDER BY [Gf_Date]) >= @Threshold THEN 1
      ELSE 0
  END IsThresholdPassed
FROM [dbo].[MCT]
WHERE [SC] is null
ORDER BY [DID]



  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 Server 2008 MERGE - गणना करने का सबसे अच्छा तरीका

  2. आप टी-एसक्यूएल के टिनिंट को सी # में पूर्णांक में कैसे परिवर्तित कर सकते हैं?

  3. SQL सर्वर प्रबंधन स्टूडियो में फ़्लोटिंग पॉइंट प्रकारों का पूर्ण सटीक आउटपुट

  4. ग्रुप बाय का उपयोग करते समय SQL Server 2008 ऑर्डर क्यों करता है और कोई ऑर्डर निर्दिष्ट नहीं किया गया है?

  5. Microsoft Access में एक निर्दिष्ट दिनांक सीमा के भीतर योग प्रदर्शित करना