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

เลือกค่าที่ไม่ซ้ำกัน (DISTINCT) และเรียงลำดับใน MySQL

บทความนี้สาธิตการใช้ 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 หลายคอลัมน์ จะพิจารณาการซ้ำจากชุดค่าทั้งชุด