COUNT(DISTINCT cot) đếm số giá trị duy nhất (bỏ qua trùng lặp và NULL).
Cú pháp
SELECT COUNT(DISTINCT ten_cot) AS so_luong_duy_nhat
FROM ten_bang;
Ví dụ minh họa
Tạo bảng CountDistinctDemo:
CREATE TABLE CountDistinctDemo (
Id INT NOT NULL AUTO_INCREMENT,
Name VARCHAR(20),
PRIMARY KEY (Id)
);
INSERT INTO CountDistinctDemo (Name) VALUES
('Carol'), ('Bob'), ('Carol'), ('John'), ('Bob'),
('Carol'), ('John'), ('Sam'), ('Mike'), ('Carol'), ('David');
Dữ liệu: 11 hàng, trong đó Carol lặp 4 lần, Bob 2 lần, John 2 lần.
COUNT() thường (đếm tất cả hàng không NULL)
SELECT COUNT(Name) AS TotalName FROM CountDistinctDemo;
+-----------+
| TotalName |
+-----------+
| 11 |
+-----------+
COUNT(DISTINCT) (đếm giá trị duy nhất)
SELECT COUNT(DISTINCT Name) AS UniqueName FROM CountDistinctDemo;
+------------+
| UniqueName |
+------------+
| 6 |
+------------+
6 giá trị duy nhất: Carol, Bob, John, Sam, Mike, David.
Lưu ý: COUNT(DISTINCT cot1, cot2, ...) đếm tổ hợp duy nhất của nhiều cột.