ใช้ ORDER BY กับ DESC สำหรับเรียงจากมากไปน้อย แต่ถ้าต้องการยกเว้นค่าเดียว ให้ใช้ตัวดำเนินการไม่เท่ากัน (<>)
สร้างตารางตัวอย่าง
mysql> create table DemoTable (
-> Name varchar(100)
-> );
Query OK, 0 rows affected (0.89 sec)
เพิ่มข้อมูลตัวอย่าง
mysql> insert into DemoTable values('Sam');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('Chris');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('John');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('Carol');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('Adam');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('David');
Query OK, 1 row affected (0.12 sec)
แสดงข้อมูลทั้งหมด
mysql> select * from DemoTable;
ผลลัพธ์
+-------+ | Name | +-------+ | Sam | | Chris | | John | | Carol | | Adam | | David | +-------+ 6 rows in set (0.00 sec)
คำสั่ง ORDER BY DESC ยกเว้นค่า "Adam"
mysql> select * from DemoTable ORDER BY (Name <> 'Adam') DESC, Name;
ผลลัพธ์
+-------+ | Name | +-------+ | Carol | | Chris | | David | | John | | Sam | | Adam | +-------+ 6 rows in set (0.00 sec)
คำอธิบาย: (Name <> 'Adam') คืนค่า 1 (TRUE) สำหรับชื่อที่ไม่ใช่ Adam, 0 (FALSE) สำหรับ Adam เรียง DESC ทำให้ TRUE (1) อยู่บน FALSE (0) แล้วค่อยเรียง Name ปกติ