MySQL में किसी कॉलम में विशिष्ट मानों की घटनाओं (occurrences) को एक ही क्वेरी में गिनने के लिए WHERE ... IN() के साथ GROUP BY का उपयोग किया जाता है। यह रिपोर्टिंग और विश्लेषण के लिए उपयोगी है।
उदाहरण के लिए टेबल बनाना
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(100)
);
डेटा डालना
mysql> INSERT INTO DemoTable(Name) VALUES('John'), ('Chris'), ('David'), ('Chris'), ('Chris'), ('John'), ('Carol'), ('Sam');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+----+-------+ | Id | Name | +----+-------+ | 1 | John | | 2 | Chris | | 3 | David | | 4 | Chris | | 5 | Chris | | 6 | John | | 7 | Carol | | 8 | Sam | +----+-------+
'John' और 'Chris' की घटनाएँ गिनना
mysql> SELECT Name, COUNT(*) AS Occurrences FROM DemoTable
-> WHERE Name IN('John', 'Chris') GROUP BY Name;
आउटपुट
+-------+-------------+ | Name | Occurrences | +-------+-------------+ | John | 2 | | Chris | 3 | +-------+-------------+
वैकल्पिक: सभी नामों की गिनती के लिए WHERE क्लॉज़ हटाएं: SELECT Name, COUNT(*) FROM DemoTable GROUP BY Name। HAVING क्लॉज़ से न्यूनतम घटनाएँ फ़िल्टर करें: HAVING COUNT(*) > 2।