MySQL में GROUP BY के साथ COUNT(*) का उपयोग करके आप समान मानों को समूहित कर सकते हैं और प्रत्येक समूह की गिनती प्राप्त कर सकते हैं, बजाय प्रत्येक पंक्ति के लिए गिनती दोहराने के।
उदाहरण तालिका बनाना
mysql> CREATE TABLE DemoTable (Value INT);
डुप्लिकेट मानों के साथ डेटा डालना
mysql> INSERT INTO DemoTable VALUES (10), (20), (10), (30), (10), (20), (40), (10), (20), (20), (60);
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट: 10, 20, 10, 30, 10, 20, 40, 10, 20, 20, 60 (11 पंक्तियां)
अद्वितीय मानों की गिनती (GROUP BY के साथ)
mysql> SELECT COUNT(*) FROM (SELECT * FROM DemoTable GROUP BY Value) AS tbl;
आउटपुट:
+----------+ | COUNT(*) | +----------+ | 5 | +----------+
व्याख्या: आंतरिक क्वेरी GROUP BY Value अद्वितीय मान लौटाती है: 10, 20, 30, 40, 60 (5 पंक्तियां)। बाहरी COUNT(*) इन पंक्तियों को गिनता है।
अधिक उपयोगी: प्रत्येक मान के साथ उसकी गिनती
mysql> SELECT Value, COUNT(*) AS Frequency FROM DemoTable GROUP BY Value;
आउटपुट:
+-------+-----------+ | Value | Frequency | +-------+-----------+ | 10 | 4 | | 20 | 4 | | 30 | 1 | | 40 | 1 | | 60 | 1 | +-------+-----------+
उपयोग मामला: आवृत्ति विश्लेषण, डुप्लिकेट पहचान, हिस्टोग्राम डेटा, श्रेणी वितरण।