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.