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

Đếm số lần xuất hiện của các bản ghi trùng lặp trong một truy vấn MySQL

Phương pháp

Sử dụng COUNT() kết hợp GROUP BY trên cột cần đếm trùng lặp.

1. Tạo bảng

mysql> create table DemoTable (
    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentSubject varchar(40)
);
Query OK, 0 rows affected (5.03 sec)

2. Chèn dữ liệu

mysql> insert into DemoTable(StudentSubject) values('MySQL');
mysql> insert into DemoTable(StudentSubject) values('Java');
mysql> insert into DemoTable(StudentSubject) values('MySQL');
mysql> insert into DemoTable(StudentSubject) values('MongoDB');
mysql> insert into DemoTable(StudentSubject) values('Java');

3. Xem dữ liệu

mysql> select * from DemoTable;
+-----------+----------------+
| StudentId | StudentSubject |
+-----------+----------------+
| 1         | MySQL          |
| 2         | Java           |
| 3         | MySQL          |
| 4         | MongoDB        |
| 5         | Java           |
+-----------+----------------+
5 rows in set (0.00 sec)

4. Truy vấn đếm trùng lặp

mysql> select StudentSubject, count(StudentId) from DemoTable group by StudentSubject;

Kết quả:

+----------------+------------------+
| StudentSubject | count(StudentId) |
+----------------+------------------+
| MySQL          | 2                |
| Java           | 2                |
| MongoDB        | 1                |
+----------------+------------------+
3 rows in set (0.00 sec)

Mở rộng: Thêm HAVING count(*) > 1 để chỉ hiện các giá trị trùng lặp.