SUM() और GROUP BY के साथ समान ग्राहकों के लिए कॉलम-वार योग
जब एक ही ग्राहक की कई पंक्तियां हों और आपको प्रत्येक उत्पाद मूल्य कॉलम का योग चाहिए, तो SUM() के साथ GROUP BY का उपयोग करें।
टेबल और डेटा
mysql> CREATE TABLE DemoTable (
CustomerName VARCHAR(100),
Product_1_Price INT,
Product_2_Price INT
);
Query OK, 0 rows affected (0.73 sec)
mysql> INSERT INTO DemoTable VALUES('John',67,89);
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable VALUES('David',769,890);
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable VALUES('David',987,1000);
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable VALUES('John',900,111);
Query OK, 1 row affected (0.12 sec)
सभी रिकॉर्ड
mysql> SELECT * FROM DemoTable;
+--------------+-----------------+-----------------+ | CustomerName | Product_1_Price | Product_2_Price | +--------------+-----------------+-----------------+ | John | 67 | 89 | | David | 769 | 890 | | David | 987 | 1000 | | John | 900 | 111 | +--------------+-----------------+-----------------+ 4 rows in set (0.00 sec)
प्रति ग्राहक प्रत्येक उत्पाद मूल्य का योग
mysql> SELECT CustomerName,
SUM(Product_1_Price) AS Total1,
SUM(Product_2_Price) AS Total2
FROM DemoTable GROUP BY CustomerName;
परिणाम:
+--------------+--------+--------+ | CustomerName | Total1 | Total2 | +--------------+--------+--------+ | John | 967 | 200 | | David | 1756 | 1890 | +--------------+--------+--------+ 2 rows in set (0.00 sec)
व्याख्या: John: Product_1_Price = 67+900=967, Product_2_Price = 89+111=200। David: 769+987=1756, 890+1000=1890। प्रत्येक संख्यात्मक कॉलम के लिए अलग SUM() लिखें।