AVG() एग्रीगेट फ़ंक्शन
MySQL में किसी संख्यात्मक कॉलम का **औसत (average)** निकालने के लिए AVG() एग्रीगेट फ़ंक्शन का उपयोग करें।
सिंटैक्स
SELECT AVG(yourColumnName) AS anyVariableName
FROM yourTableName;
व्यावहारिक उदाहरण
1. टेबल बनाएं और अंक डालें
mysql> CREATE TABLE AverageCalculateDemo (
-> SubjectMarks INT
-> );
Query OK, 0 rows affected (0.67 sec)
mysql> INSERT INTO AverageCalculateDemo VALUES(70);
mysql> INSERT INTO AverageCalculateDemo VALUES(80);
mysql> INSERT INTO AverageCalculateDemo VALUES(65);
mysql> INSERT INTO AverageCalculateDemo VALUES(55);
mysql> INSERT INTO AverageCalculateDemo VALUES(60);
2. डेटा देखें
mysql> SELECT * FROM AverageCalculateDemo;
+--------------+
| SubjectMarks |
+--------------+
| 70 |
| 80 |
| 65 |
| 55 |
| 60 |
+--------------+
5 rows in set (0.00 sec)
3. औसत निकालें
mysql> SELECT AVG(SubjectMarks) AS AverageOfNumbers
-> FROM AverageCalculateDemo;
+-------------------+
| AverageOfNumbers |
+-------------------+
| 66.0000 |
+-------------------+
1 row in set (0.00 sec)
गणना: (70+80+65+55+60) / 5 = 330 / 5 = 66
संबंधित एग्रीगेट फ़ंक्शन
| फ़ंक्शन | विवरण | उदाहरण परिणाम |
|---|---|---|
AVG() | औसत | 66.0000 |
SUM() | कुल योग | 330 |
COUNT() | पंक्ति गिनती | 5 |
MIN() | न्यूनतम | 55 |
MAX() | अधिकतम | 80 |
STD() | मानक विचलन | ~9.38 |
WHERE क्लॉज के साथ
SELECT AVG(SubjectMarks) FROM AverageCalculateDemo WHERE SubjectMarks >= 60;
परिणाम: 68.3333 (केवल 70, 80, 65)
GROUP BY के साथ
SELECT Subject, AVG(Marks) FROM StudentMarks GROUP BY Subject;
NULL मान
AVG()NULLमानों को **अनदेखा** करता है- सभी मान NULL होने पर
NULLलौटाता है COALESCE(AVG(col), 0)से 0 डिफ़ॉल्ट प्राप्त करें
सटीकता
AVG() DECIMAL लौटाता है (सटीक गणना)। पूर्णांक औसत के लिए:
SELECT CAST(AVG(SubjectMarks) AS UNSIGNED) FROM AverageCalculateDemo; -- 66