Kết hợp COUNT(DISTINCT ten_cot) để đếm số giá trị duy nhất trong một cột (bỏ qua trùng lặp và NULL).
Ví dụ minh họa
Tạo bảng:
mysql> CREATE TABLE DemoTable (Name VARCHAR(20), Score INT);
Chèn dữ liệu (có trùng lặp):
mysql> INSERT INTO DemoTable VALUES('John', 56), ('Sam', 89), ('John', 56), ('Carol', 60), ('Sam', 89), ('Carol', 60);
Xem dữ liệu:
mysql> SELECT * FROM DemoTable;
Kết quả
+-------+-------+ | Name | Score | +-------+-------+ | John | 56 | | Sam | 89 | | John | 56 | | Carol | 60 | | Sam | 89 | | Carol | 60 | +-------+-------+
Đếm số điểm khác nhau:
mysql> SELECT COUNT(DISTINCT Score) FROM DemoTable;
Kết quả
+-----------------------+ | COUNT(DISTINCT Score) | +-----------------------+ | 3 | +-----------------------+
Lưu ý: COUNT(DISTINCT ...) bỏ qua NULL. Nếu muốn tính NULL như một giá trị riêng, dùng COUNT(DISTINCT IFNULL(cot, '__NULL__')).