GROUP BY और COUNT(*) के साथ प्रत्येक विशिष्ट मान की आवृत्ति गिनना
हां, आप COUNT(*) एग्रीगेट फंक्शन के साथ GROUP BY क्लॉज का उपयोग कर सकते हैं। पहले टेबल बनाएं:
mysql> create table DemoTable1425 ( JoiningYear int ); Query OK, 0 rows affected (0.76 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable1425 values(2000); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable1425 values(2010); Query OK, 1 row affected (0.24 sec) mysql> insert into DemoTable1425 values(2015); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable1425 values(2000); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable1425 values(2010); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable1425 values(2000); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable1425 values(2010); Query OK, 1 row affected (0.10 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable1425;
आउटपुट:
+-------------+ | JoiningYear | +-------------+ | 2000 | | 2010 | | 2015 | | 2000 | | 2010 | | 2000 | | 2010 | +-------------+ 7 rows in set (0.00 sec)
प्रत्येक विशिष्ट मान कितनी बार आता है यह देखने की क्वेरी:
mysql> select JoiningYear, count(*) from DemoTable1425 group by JoiningYear;
परिणाम:
+-------------+----------+ | JoiningYear | count(*) | +-------------+----------+ | 2000 | 3 | | 2010 | 3 | | 2015 | 1 | +-------------+----------+ 3 rows in set (0.00
व्याख्या: GROUP BY JoiningYear समान वर्षों को ग्रुप करता है। COUNT(*) प्रत्येक ग्रुप में पंक्तियों की गिनती करता है। परिणाम प्रत्येक विशिष्ट वर्ष और उसकी आवृत्ति दिखाता है। यह DISTINCT + COUNT संयोजन का मानक तरीका है। ध्यान दें: COUNT(DISTINCT JoiningYear) विशिष्ट मानों की संख्या (3) देगा, प्रत्येक की गिनती नहीं।