Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में दूसरे कॉलम के प्रत्येक विशिष्ट मान के लिए योग कैसे प्राप्त करें?


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, आदि) का उपयोग करके प्रत्येक ग्रुप के लिए सारांश सांख्यिकी प्राप्त करें।

  1. - MySQL क्वेरी का उपयोग करके NULL के लिए संबंधित मान पुनर्प्राप्त करें

    इसके लिए IS NULL प्रॉपर्टी का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable ( EmployeeName varchar(100), EmployeeAge int ); Query OK, 0 rows affected (0.59 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(Ch

  1. - MySQL में चौथा सबसे बड़ा मान कैसे प्राप्त करें

    LIMIT OFFSET के साथ N-वां सबसे बड़ा मान अवरोही क्रम में क्रमबद्ध करके LIMIT 1 OFFSET N-1 से N-वां सबसे बड़ा मान प्राप्त करें। चौथे सबसे बड़े के लिए OFFSET 3। टेबल और डेटा CREATE TABLE DemoTable ( Amount INT ); Query OK, 0 rows affected (0.88 sec) INSERT INTO DemoTable VALUES(198); Query OK,

  1. - MySQL में कॉलम के अधिकतम मान प्राप्त करने का सबसे तेज़ तरीका: MAX() vs ORDER BY DESC LIMIT 1

    MySQL में MAX() vs ORDER BY DESC LIMIT 1: प्रदर्शन तुलना कॉलम का अधिकतम मान प्राप्त करने के दो सामान्य तरीके हैं, लेकिन MAX() फंक्शन ORDER BY ... DESC LIMIT 1 से काफी तेज होता है। दोनों तरीके -- तरीका 1: MAX() फंक्शन (अनुशंसित) SELECT MAX(yourColumnName) FROM yourTableName; -- तरीका 2: ORDER BY DE