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

Dùng COUNT() và DISTINCT cùng lúc trong MySQL

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.