Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

นับจำนวนค่าที่ไม่ซ้ำกัน (DISTINCT) ใน MySQL

ใช้ 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