Dùng biểu thức logic (cot = gia_tri) trong ORDER BY. Biểu thức trả về 1 (true) cho hàng khớp, 0 (false) cho các hàng khác. Sắp xếp DESC để đưa 1 lên đầu.
Ví dụ minh họa
Tạo bảng:
mysql> CREATE TABLE DemoTable (Number INT);
Chèn dữ liệu:
mysql> INSERT INTO DemoTable VALUES(10), (20), (12), (14), (19), (45), (56), (103), (87), (98);
Xem dữ liệu:
mysql> SELECT * FROM DemoTable;
Kết quả
+--------+ | Number | +--------+ | 10 | | 20 | | 12 | | 14 | | 19 | | 45 | | 56 | | 103 | | 87 | | 98 | +--------+
Đưa giá trị 45 lên đầu, các giá trị còn lại sắp xếp tăng dần:
mysql> SELECT * FROM DemoTable ORDER BY (Number = 45) DESC, Number;
Kết quả
+--------+ | Number | +--------+ | 45 | | 10 | | 12 | | 14 | | 19 | | 20 | | 56 | | 87 | | 98 | | 103 | +--------+
Mở rộng: Đưa nhiều giá trị cụ thể lên đầu theo thứ tự: ORDER BY FIELD(Number, 45, 10, 20), Number.