MySQL में विंडो फ़ंक्शन SUM() OVER का उपयोग करके कॉलम के मानों का रनिंग टोटल (cumulative sum) निकालें।
टेबल निर्माण
mysql> CREATE TABLE DemoTable (
CustomerId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
CustomerValue INT
);
डेटा डालना
mysql> INSERT INTO DemoTable(CustomerValue) VALUES(10); mysql> INSERT INTO DemoTable(CustomerValue) VALUES(20); mysql> INSERT INTO DemoTable(CustomerValue) VALUES(30); mysql> INSERT INTO DemoTable(CustomerValue) VALUES(40);
सभी रिकॉर्ड देखें
mysql> SELECT * FROM DemoTable;
+------------+---------------+ | CustomerId | CustomerValue | +------------+---------------+ | 1 | 10 | | 2 | 20 | | 3 | 30 | | 4 | 40 | +------------+---------------+ 4 rows in set (0.00 sec)
रनिंग टोटल निकालने की क्वेरी
mysql> SELECT CustomerId,
SUM(CustomerValue) OVER (ORDER BY CustomerId) AS SpecificSum
FROM DemoTable;
परिणाम
+------------+-------------+ | CustomerId | SpecificSum | +------------+-------------+ | 1 | 10 | | 2 | 30 | | 3 | 60 | | 4 | 100 | +------------+-------------+ 4 rows in set (0.00 sec)
व्याख्या: SUM() OVER (ORDER BY CustomerId) प्रत्येक पंक्ति के लिए उस पंक्ति तक के सभी मानों का योग देता है। इसे रनिंग टोटल या क्यूमुलेटिव सम कहते हैं।