इसके लिए COUNT() फ़ंक्शन के साथ GROUP BY क्लॉज़ का उपयोग करें।
टेबल बनाएं
mysql> create table DemoTable (
-> Name varchar(100)
-> );
Query OK, 0 rows affected (0.69 sec)
रिकॉर्ड्स डालें
mysql> insert into DemoTable values('John');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('Sam');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('John');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('Mike');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('John');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable values('Sam');
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable values('Carol');
Query OK, 1 row affected (0.18 sec)
सभी रिकॉर्ड्स देखें
mysql> select * from DemoTable;
+-------+ | Name | +-------+ | John | | Sam | | John | | Mike | | John | | Sam | | Carol | +-------+ 7 rows in set (0.00 sec)
SQL में विशिष्ट मानों की अधिकतम गिनती का क्वेरी
mysql> select Name, COUNT(*) AS freq FROM DemoTable GROUP BY NAME ORDER BY COUNT(*) DESC LIMIT 1;
आउटपुट:
+------+------+ | Name | freq | +------+------+ | John | 3 | +------+------+ 1 row in set (0.00 sec)
व्याख्या:
GROUP BY Name- नाम के अनुसार समूहCOUNT(*) AS freq- प्रत्येक समूह की गिनतीORDER BY COUNT(*) DESC- गिनती के अनुसार अवरोही क्रमLIMIT 1- केवल शीर्ष 1 (अधिकतम)
नोट: टाई होने पर केवल एक पंक्ति लौटाता है। सभी टॉप टाई के लिए विंडो फ़ंक्शन या सबक्वेरी का उपयोग करें।