ใช้ COUNT(DISTINCT column) ในคำสั่ง SELECT พร้อม GROUP BY
สร้างตารางตัวอย่าง
mysql> CREATE TABLE DemoTable (
-> Name VARCHAR(100),
-> Code VARCHAR(100)
-> );
เพิ่มข้อมูลตัวอย่าง
mysql> INSERT INTO DemoTable VALUES('Chris', '0001');
mysql> INSERT INTO DemoTable VALUES('Robert', '0002');
mysql> INSERT INTO DemoTable VALUES('Robert', '0003');
mysql> INSERT INTO DemoTable VALUES('Chris', '0001');
แสดงข้อมูล
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+--------+------+ | Name | Code | +--------+------+ | Chris | 0001 | | Robert | 0002 | | Robert | 0003 | | Chris | 0001 | +--------+------+
คำสั่งนับ Code ที่ไม่ซ้ำกัน แยกตาม Name
mysql> SELECT Name, COUNT(DISTINCT Code) FROM DemoTable GROUP BY Name;
ผลลัพธ์:
+--------+----------------------+ | Name | COUNT(DISTINCT Code) | +--------+----------------------+ | Chris | 1 | | Robert | 2 | +--------+----------------------+
คำอธิบาย: Chris มี Code '0001' ซ้ำ 2 ครั้ง นับ distinct = 1 | Robert มี '0002' และ '0003' นับ distinct = 2