इसके लिए GROUP BY क्लॉज के साथ एग्रीगेट फ़ंक्शन SUM() का उपयोग करें। आइए पहले एक टेबल बनाते हैं:
mysql> create table DemoTable(
Name varchar(100),
Score int );
Query OK, 0 rows affected (0.70 sec)
इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:
mysql> insert into DemoTable values('Adam',50);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('Bob',80);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('Adam',70);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('Adam',10);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('Carol',98);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('Bob',10);
Query OK, 1 row affected (0.08 sec)
सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:
mysql> select * from DemoTable;
यह निम्नलिखित आउटपुट देगा:
+-------+-------+ | Name | Score | +-------+-------+ | Adam | 50 | | Bob | 80 | | Adam | 70 | | Adam | 10 | | Carol | 98 | | Bob | 10 | +-------+-------+ 6 rows in set (0.00 sec)
डुप्लिकेट रिकॉर्ड के लिए कॉलम का योग प्राप्त करने की क्वेरी
mysql> select Name, sum(Score) from DemoTable group by Name;
यह निम्नलिखित आउटपुट देगा:
+-------+------------+ | Name | sum(Score) | +-------+------------+ | Adam | 130 | | Bob | 90 | | Carol | 98 | +-------+------------+ 3 rows in set (0.00 sec)
व्याख्या
GROUP BY Name समान नाम वाली पंक्तियों को समूहित करता है, और SUM(Score) प्रत्येक समूह के लिए स्कोर जोड़ता है। Adam के तीन रिकॉर्ड (50+70+10=130), Bob के दो (80+10=90), और Carol का एक (98) हैं।