Count and subquery in Having clause
mysql>
mysql>
mysql> CREATE TABLE MATCHES
-> (MATCHNO INTEGER NOT NULL,
-> TEAMNO INTEGER NOT NULL,
-> EmployeeNO INTEGER NOT NULL,
-> WON SMALLINT NOT NULL,
-> LOST SMALLINT NOT NULL,
-> PRIMARY KEY (MATCHNO) );
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> INSERT INTO MATCHES VALUES ( 1, 1, 6, 3, 1);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 2, 1, 6, 2, 3);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 3, 1, 6, 3, 0);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 4, 1, 44, 3, 2);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 5, 1, 83, 0, 3);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 6, 1, 2, 1, 3);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 7, 1, 57, 3, 0);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 8, 1, 8, 0, 3);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES ( 9, 2, 27, 3, 2);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES (10, 2, 104, 3, 2);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES (11, 2, 112, 2, 3);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES (12, 2, 112, 1, 3);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO MATCHES VALUES (13, 2, 8, 0, 3);
Query OK, 1 row affected (0.00 sec)
mysql>
mysql>
mysql>
mysql> SELECT TEAMNO, COUNT(*)
-> FROM MATCHES
-> GROUP BY TEAMNO
-> HAVING COUNT(*) >= ALL
-> (SELECT COUNT(*)
-> FROM MATCHES
-> GROUP BY TEAMNO);
+--------+----------+
| TEAMNO | COUNT(*) |
+--------+----------+
| 1 | 8 |
+--------+----------+
1 row in set (0.00 sec)
mysql>
mysql> drop table matches;
Query OK, 0 rows affected (0.00 sec)
Related examples in the same category