SUM() और GROUP BY का उपयोग करें
एक कॉलम के प्रत्येक विशिष्ट मान के लिए दूसरे कॉलम का योग प्राप्त करने के लिए, एग्रीगेट फंक्शन SUM() के साथ GROUP BY का उपयोग करें।
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE SumOfEveryDistinct (
Id INT NOT NULL,
Amount INT
);
mysql> INSERT INTO SumOfEveryDistinct VALUES(10, 100); mysql> INSERT INTO SumOfEveryDistinct VALUES(11, 200); mysql> INSERT INTO SumOfEveryDistinct VALUES(12, 300); mysql> INSERT INTO SumOfEveryDistinct VALUES(10, 400); mysql> INSERT INTO SumOfEveryDistinct VALUES(11, 500); mysql> INSERT INTO SumOfEveryDistinct VALUES(12, 600); mysql> INSERT INTO SumOfEveryDistinct VALUES(10, 700); mysql> INSERT INTO SumOfEveryDistinct VALUES(11, 800); mysql> INSERT INTO SumOfEveryDistinct VALUES(12, 900);
सभी रिकॉर्ड
+----+--------+ | Id | Amount | +----+--------+ | 10 | 100 | | 11 | 200 | | 12 | 300 | | 10 | 400 | | 11 | 500 | | 12 | 600 | | 10 | 700 | | 11 | 800 | | 12 | 900 | +----+--------+
क्वेरी: प्रत्येक विशिष्ट Id के लिए Amount का योग
mysql> SELECT Id, SUM(Amount) AS TotalSum FROM SumOfEveryDistinct GROUP BY Id;
आउटपुट
+----+----------+ | Id | TotalSum | +----+----------+ | 10 | 1200 | | 11 | 1500 | | 12 | 1800 | +----+----------+
व्याख्या
GROUP BY Id—Idके प्रत्येक विशिष्ट मान के लिए एक ग्रुप बनाता है।SUM(Amount)— प्रत्येक ग्रुप के भीतरAmountके सभी मानों को जोड़ता है।- परिणाम: प्रत्येक विशिष्ट
Idके लिए कुल योग।
विस्तार: एकाधिक एग्रीगेशन
SELECT Id,
SUM(Amount) AS TotalSum,
COUNT(*) AS RecordCount,
AVG(Amount) AS AvgAmount,
MIN(Amount) AS MinAmount,
MAX(Amount) AS MaxAmount
FROM SumOfEveryDistinct
GROUP BY Id;
मुख्य बिंदु
GROUP BY के साथ एग्रीगेट फंक्शन (SUM, COUNT, AVG, आदि) का उपयोग करके प्रत्येक ग्रुप के लिए सारांश सांख्यिकी प्राप्त करें।