บทความนี้สาธิตการใช้ DISTINCT ร่วมกับ ORDER BY เพื่อดึงค่าที่ไม่ซ้ำกันจากคอลัมน์และเรียงลำดับอัตโนมัติ
สร้างตารางและข้อมูลทดสอบ (มีค่าซ้ำ)
mysql> CREATE TABLE DemoTable680 (Status VARCHAR(100));
Query OK, 0 rows affected (0.75 sec)
mysql> INSERT INTO DemoTable680 VALUES('Busy');
mysql> INSERT INTO DemoTable680 VALUES('At Work');
mysql> INSERT INTO DemoTable680 VALUES('Busy');
mysql> INSERT INTO DemoTable680 VALUES('Blocked');
mysql> INSERT INTO DemoTable680 VALUES('Offline');
mysql> INSERT INTO DemoTable680 VALUES('Offline');
mysql> INSERT INTO DemoTable680 VALUES('Blocked');
คิวรี DISTINCT พร้อม ORDER BY
mysql> SELECT DISTINCT Status FROM DemoTable680 ORDER BY Status;
ผลลัพธ์ (เรียง A-Z)
+---------+
| Status |
+---------+
| At Work |
| Blocked |
| Busy |
| Offline |
+---------+
คำอธิบาย:
DISTINCT- กำจัดแถวซ้ำ คืนค่าเฉพาะค่าที่ไม่ซ้ำกันORDER BY Status- เรียงลำดับผลลัพธ์ตามตัวอักษร (Default ASC)- สามารถใช้
ORDER BY Status DESCสำหรับเรียงจาก Z-A
หมายเหตุ: DISTINCT ทำงานกับทุกคอลัมน์ใน SELECT หาก SELECT หลายคอลัมน์ จะพิจารณาการซ้ำจากชุดค่าทั้งชุด