ใช้ ORDER BY column = 0, column ให้ค่า 0 จัดอยู่ท้าย ส่วนที่เหลือเรียงปกติ
สร้างตารางตัวอย่าง
mysql> CREATE TABLE DemoTable (
-> Number INT
-> );
เพิ่มข้อมูลตัวอย่าง
mysql> INSERT INTO DemoTable VALUES(9), (4), (0), (7), (11);
แสดงข้อมูล
mysql> SELECT * FROM DemoTable;
ผลลัพธ์:
+--------+ | Number | +--------+ | 9 | | 4 | | 0 | | 7 | | 11 | +--------+
คำสั่งเรียง 0 ไปท้าย ส่วนอื่นเรียงน้อยไปมาก
mysql> SELECT * FROM DemoTable ORDER BY Number = 0, Number;
ผลลัพธ์:
+--------+ | Number | +--------+ | 4 | | 7 | | 9 | | 11 | | 0 | +--------+
คำอธิบาย: Number = 0 คืนค่า 1 (TRUE) สำหรับ 0, 0 (FALSE) สำหรับอื่นๆ | ORDER BY เรียง FALSE (0) ก่อน TRUE (1) ดังนั้นค่าที่ไม่ใช่ 0 จะอยู่หน้า เรียงตาม Number | 0 จะอยู่ท้าย