Sử dụng COUNT(*) kết hợp GROUP BY trên cột cần đếm.
Cú pháp:
SELECT ten_cot, COUNT(*) AS so_luong FROM ten_bang GROUP BY ten_cot;
Ví dụ bảng điểm sinh viên (có điểm trùng):
CREATE TABLE RowWithSameValue (StudentId INT, StudentName VARCHAR(100), StudentMarks INT); INSERT INTO RowWithSameValue VALUES (100,'Carol',89), (101,'Sam',89), (102,'John',99), (103,'Johnson',89);
Dữ liệu:
+-----------+-------------+--------------+ | StudentId | StudentName | StudentMarks | +-----------+-------------+--------------+ | 100 | Carol | 89 | | 101 | Sam | 89 | | 102 | John | 99 | | 103 | Johnson | 89 | +-----------+-------------+--------------+
Đếm số lần xuất hiện của mỗi điểm:
SELECT StudentMarks, COUNT(*) AS SameValue FROM RowWithSameValue GROUP BY StudentMarks;
Kết quả
+--------------+-----------+ | StudentMarks | SameValue | +--------------+-----------+ | 89 | 3 | | 99 | 1 | +--------------+-----------+
Mở rộng: Lọc nhóm có số lượng > n dùng HAVING COUNT(*) > n. Sắp xếp: ORDER BY SameValue DESC.