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

मैं कर्सर का उपयोग किए बिना SQL में चल रहे कुल की गणना कैसे करूं?

आप यहां स्थानीय चर समाधान के अद्यतन पर एक नज़र डालना चाहेंगे:http://geekswithblogs.net/Rhames/archive/2008/10/28/calculating-running-totals-in-sql-server-2005--- the-optimal.aspx

DECLARE @SalesTbl TABLE (DayCount smallint, Sales money, RunningTotal money)

DECLARE @RunningTotal money

SET @RunningTotal = 0

INSERT INTO @SalesTbl 
SELECT DayCount, Sales, null
FROM Sales
ORDER BY DayCount

UPDATE @SalesTbl
SET @RunningTotal = RunningTotal = @RunningTotal + Sales
FROM @SalesTbl

SELECT * FROM @SalesTbl

अन्य सभी तरीकों से बेहतर प्रदर्शन करता है, लेकिन गारंटीकृत पंक्ति क्रम के बारे में कुछ संदेह है। हालांकि अस्थायी तालिका अनुक्रमित होने पर ठीक काम करने लगता है ..

  • नेस्टेड उप-क्वेरी 9300 एमएस
  • 6100 एमएस से स्वयं जुड़ें
  • कर्सर 400 एमएस
  • स्थानीय चर 140 ms पर अपडेट करें


  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. SQL क्वेरी द्वारा किसी विशेष डेटाबेस के सभी तालिका नाम प्राप्त करें?

  3. AT TIME ZONE - SQL Server 2016 में एक नई पसंदीदा विशेषता

  4. एसक्यूएल में पिछले सप्ताह का आखिरी दिन कैसे प्राप्त करें?

  5. SQL सर्वर में तिथियों की एक श्रृंखला कैसे उत्पन्न करें