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

MySQL में समान ID वाली पंक्तियों का औसत निकालें

GROUP BY और AVG() के साथ प्रति समूह औसत गणना

जब एक ही ID की कई पंक्तियां हों और आपको प्रत्येक ID के लिए औसत चाहिए, तो GROUP BY के साथ AVG() एग्रीगेट फंक्शन का उपयोग करें।

टेबल और डेटा

mysql> CREATE TABLE DemoTable (
    StudentId INT,
    StudentMarks INT
);
Query OK, 0 rows affected (0.83 sec)
mysql> INSERT INTO DemoTable VALUES(1000,78);
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DemoTable VALUES(1001,88);
Query OK, 1 row affected (0.21 sec)
mysql> INSERT INTO DemoTable VALUES(1000,89);
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DemoTable VALUES(1000,67);
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable VALUES(1000,90);
Query OK, 1 row affected (0.21 sec)
mysql> INSERT INTO DemoTable VALUES(1001,91);
Query OK, 1 row affected (0.17 sec)

सभी रिकॉर्ड

mysql> SELECT * FROM DemoTable;
+-----------+--------------+
| StudentId | StudentMarks |
+-----------+--------------+
| 1000      | 78           |
| 1001      | 88           |
| 1000      | 89           |
| 1000      | 67           |
| 1000      | 90           |
| 1001      | 91           |
+-----------+--------------+
6 rows in set (0.00 sec)

प्रति ID औसत निकालने की क्वेरी

mysql> SELECT StudentId, AVG(StudentMarks) FROM DemoTable GROUP BY StudentId;

परिणाम:

+-----------+-------------------+
| StudentId | avg(StudentMarks) |
+-----------+-------------------+
| 1000      | 81.0000           |
| 1001      | 89.5000           |
+-----------+-------------------+
2 rows in set (0.03 sec)

गणना: StudentId 1000: (78+89+67+90)/4 = 81। StudentId 1001: (88+91)/2 = 89.5। GROUP BY प्रत्येक ID के लिए अलग समूह बनाता है।

  1. - MySQL में कॉलम के केवल पहले तीन मानों का औसत कैसे निकालें

    MySQL में पहले तीन रिकॉर्ड्स का औसत निकालना इसके लिए आप सबक्वेरी का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( Score INT ); टेबल में कुछ रिकॉर्ड्स इन्सर्ट करें: mysql> INSERT INTO DemoTable VALUES (80); mysql> INSERT INTO DemoTable VALUES (45); mysql&

  1. - MySQL में LIKE ऑपरेटर के साथ एकाधिक फील्ड्स पर समान मान खोजना

    परिचय MySQL में CONCAT() फंक्शन का उपयोग करके एकाधिक कॉलम्स को जोड़कर, फिर LIKE ऑपरेटर से पैटर्न मिलान करके एक साथ कई फील्ड्स पर खोज की जा सकती है। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.58 sec) INSERT INTO DemoTable VALUES(John, MongoDB); Query OK, 1 row affected (0.12

  1. - MySQL में GROUP BY HAVING से समान ID वाली पंक्तियों का SUM निकालें

    GROUP BY + HAVING = 2000; उदाहरण डेटा insert into demo84 values(1,2000), (1,2000), (2,1800), (2,2200), (3,1700); परिणाम: कुल ≥ 2000 वाले ID +------+-------+ | id | Total | +------+-------+ | 1 | 4000 | | 2  | 4000 | +------+-------+ ID 1: 2000+2000 = 4000 ID 2: 1800+2200 = 4000 I