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

Đếm số giá trị DISTINCT trong MySQL

Sử dụng COUNT(DISTINCT column) bên trong GROUP BY để đếm số giá trị duy nhất của một cột cho mỗi nhóm của cột khác.

Tạo bảng và dữ liệu

mysql> CREATE TABLE DemoTable (
    -> Name VARCHAR(100),
    -> Code VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.54 sec)
mysql> INSERT INTO DemoTable VALUES('Chris', '0001'), ('Robert', '0002'), ('Robert', '0003'), ('Chris', '0001');
Query OK, 4 rows affected (0.17 sec)

Truy vấn COUNT DISTINCT theo nhóm

mysql> SELECT Name, COUNT(DISTINCT Code) FROM DemoTable GROUP BY Name;

Kết quả:

+--------+----------------------+
| Name   | COUNT(DISTINCT Code) |
+--------+----------------------+
| Chris  | 1                    |
| Robert | 2                    |
+--------+----------------------+
2 rows in set (0.06 sec)

Giải thích:

  • Chris: Code chỉ có '0001' → 1 giá trị distinct
  • Robert: Code có '0002' và '0003' → 2 giá trị distinct