Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Hiển thị các giá trị xuất hiện hơn 2 lần trong MySQL

Dùng GROUP BY kết hợp HAVING COUNT(*) > 2 để lọc các nhóm có tần suất lớn hơn ngưỡng.

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Subject VARCHAR(100)
);

Chèn dữ liệu:

mysql> INSERT INTO DemoTable(Subject) VALUES('MySQL');
mysql> INSERT INTO DemoTable(Subject) VALUES('MongoDB');
mysql> INSERT INTO DemoTable(Subject) VALUES('MySQL');
mysql> INSERT INTO DemoTable(Subject) VALUES('Java');
mysql> INSERT INTO DemoTable(Subject) VALUES('SQL Server');
mysql> INSERT INTO DemoTable(Subject) VALUES('MongoDB');
mysql> INSERT INTO DemoTable(Subject) VALUES('MySQL');

Xem dữ liệu:

mysql> SELECT * FROM DemoTable;

Kết quả

+----+------------+
| Id | Subject    |
+----+------------+
| 1  | MySQL      |
| 2  | MongoDB    |
| 3  | MySQL      |
| 4  | Java       |
| 5  | SQL Server |
| 6  | MongoDB    |
| 7  | MySQL      |
+----+------------+

Lấy chủ đề xuất hiện > 2 lần:

mysql> SELECT Subject, COUNT(Subject) AS freq
    -> FROM DemoTable
    -> GROUP BY Subject
    -> HAVING COUNT(Subject) > 2;

Kết quả

+---------+------+
| Subject | freq |
+---------+------+
| MySQL   | 3    |
+---------+------+

Lưu ý: HAVING lọc sau khi gom nhóm, khác với WHERE lọc trước khi gom nhóm.