MySQL टेबल में उन मानों की संख्या गिनें जो तीन या अधिक बार आते हैं।
उदाहरण: टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
-> UserId INT
-> );
Query OK, 0 rows affected (0.48 sec)
कई रिकॉर्ड डालें:
mysql> INSERT INTO DemoTable VALUES(10), (20), (30), (10), (10), (20), (30), (10), (20), (20), (40);
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+----------+ | UserId | +----------+ | 10 | | 20 | | 30 | | 10 | | 10 | | 20 | | 30 | | 10 | | 20 | | 20 | | 40 | +----------+ 11 rows in set (0.00 sec)
यहां: 10 चार बार, 20 चार बार, 30 दो बार, 40 एक बार आता है।
3+ बार आने वाले मानों की गिनती करने की क्वेरी
mysql> SELECT COUNT(*)
-> FROM (
-> SELECT UserId, COUNT(*) AS total
-> FROM DemoTable
-> GROUP BY UserId
-> ) AS tbl
-> WHERE total >= 3;
आउटपुट
+----------+ | COUNT(*) | +----------+ | 2 | +----------+ 1 row in set (0.01 sec)
व्याख्या: मान 10 और 20 तीन या अधिक बार आते हैं, इसलिए ऐसे विशिष्ट मानों की संख्या 2 है।
वैकल्पिक: यदि आप मान और उनकी गिनती दोनों देखना चाहते हैं:
SELECT UserId, COUNT(*) AS frequency FROM DemoTable GROUP BY UserId HAVING COUNT(*) >= 3;