GROUP BY से समान मानों का योग
MySQL में किसी कॉलम के समान मान वाली पंक्तियों के लिए दूसरे कॉलम का योग निकालने के लिए GROUP BY के साथ SUM() का उपयोग करें।
उदाहरण: क्लाइंट सीरियल नंबर के अनुसार लागत का योग
टेबल बनाएं:
mysql> CREATE TABLE sumOfFieldsDemo (
-> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> ClientSerialNumber VARCHAR(100),
-> ClientCost INT
-> );
डेटा इन्सर्ट करें:
mysql> INSERT INTO sumOfFieldsDemo(ClientSerialNumber, ClientCost) VALUES('1111', 450);
mysql> INSERT INTO sumOfFieldsDemo(ClientSerialNumber, ClientCost) VALUES('2222', 550);
mysql> INSERT INTO sumOfFieldsDemo(ClientSerialNumber, ClientCost) VALUES('3333', 150);
mysql> INSERT INTO sumOfFieldsDemo(ClientSerialNumber, ClientCost) VALUES('3333', 250);
mysql> INSERT INTO sumOfFieldsDemo(ClientSerialNumber, ClientCost) VALUES('2222', 1000);
mysql> INSERT INTO sumOfFieldsDemo(ClientSerialNumber, ClientCost) VALUES('1111', 1000);
mysql> INSERT INTO sumOfFieldsDemo(ClientSerialNumber, ClientCost) VALUES('1111', 500);
mysql> INSERT INTO sumOfFieldsDemo(ClientSerialNumber, ClientCost) VALUES('4444', 100);
सभी रिकॉर्ड:
+----+--------------------+------------+ | Id | ClientSerialNumber | ClientCost | +----+--------------------+------------+ | 1 | 1111 | 450 | | 2 | 2222 | 550 | | 3 | 3333 | 150 | | 4 | 3333 | 250 | | 5 | 2222 | 1000 | | 6 | 1111 | 1000 | | 7 | 1111 | 500 | | 8 | 4444 | 100 | +----+--------------------+------------+
सीरियल नंबर के अनुसार कुल लागत की क्वेरी
mysql> SELECT Id, ClientSerialNumber, SUM(ClientCost) AS TotalSum
-> FROM sumOfFieldsDemo
-> GROUP BY ClientSerialNumber;
परिणाम:
+----+--------------------+----------+ | Id | ClientSerialNumber | TotalSum | +----+--------------------+----------+ | 1 | 1111 | 1950 | | 2 | 2222 | 1550 | | 3 | 3333 | 400 | | 8 | 4444 | 100 | +----+--------------------+----------+
गणना विवरण:
- 1111: 450 + 1000 + 500 = 1950
- 2222: 550 + 1000 = 1550
- 3333: 150 + 250 = 400
- 4444: 100
ध्यान दें: Id कॉलम ग्रुप में नहीं है, इसलिए MySQL किसी भी पंक्ति का Id दिखा देता है (यहां पहली पंक्ति का)। यदि Id भी चाहिए तो MIN(Id) या MAX(Id) उपयोग करें।