Để làm điều này, dùng mệnh đề GROUP BY ... HAVING. Tạo bảng:
mysql> CREATE TABLE DemoTable1467 ( Id INT, Name VARCHAR(20) ); Query OK, 0 rows affected (0.64 sec)
Chèn bản ghi:
mysql> INSERT INTO DemoTable1467 VALUES(100,'Chris'); Query OK, 1 row affected (0.18 sec) mysql> INSERT INTO DemoTable1467 VALUES(110,'David'); Query OK, 1 row affected (0.10 sec) mysql> INSERT INTO DemoTable1467 VALUES(120,'Mike'); Query OK, 1 row affected (0.15 sec) mysql> INSERT INTO DemoTable1467 VALUES(100,'Chris'); Query OK, 1 row affected (0.12 sec) mysql> INSERT INTO DemoTable1467 VALUES(130,'Carol'); Query OK, 1 row affected (0.17 sec) mysql> INSERT INTO DemoTable1467 VALUES(100,'Chris'); Query OK, 1 row affected (0.20 sec)
Hiển thị:
mysql> SELECT * FROM DemoTable1467;
Kết quả:
+------+-------+ | Id | Name | +------+-------+ | 100 | Chris | | 110 | David | | 120 | Mike | | 100 | Chris | | 130 | Carol | | 100 | Chris | +------+-------+ 6 rows in set (0.00 sec)
Truy vấn lấy hàng có giá trị chung (xuất hiện > 2 lần):
mysql> SELECT Id, Name, COUNT(*) AS IdCount FROM DemoTable1467 GROUP BY Id HAVING IdCount > 2;
Kết quả:
+------+-------+---------+ | Id | Name | IdCount | +------+-------+---------+ | 100 | Chris | 3 | +------+-------+---------+ 1 row in set (0.00 sec)