Sử dụng ORDER BY CASE WHEN. Tạo bảng demo51:
mysql> CREATE TABLE demo51 (
-> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> name VARCHAR(20)
-> );
Chèn dữ liệu:
mysql> INSERT INTO demo51(name) VALUES('John');
mysql> INSERT INTO demo51(name) VALUES('Bob');
mysql> INSERT INTO demo51(name) VALUES('David');
mysql> INSERT INTO demo51(name) VALUES('Sam');
Hiển thị dữ liệu:
mysql> SELECT * FROM demo51;
+----+-------+
| id | name |
+----+-------+
| 1 | John |
| 2 | Bob |
| 3 | David |
| 4 | Sam |
+----+-------+
Truy vấn sắp xếp tùy chỉnh: John (110), Bob (105), David (104), các giá trị khác (101):
mysql> SELECT * FROM demo51
-> ORDER BY
-> CASE
-> WHEN name = 'John' THEN 110
-> WHEN name = 'Bob' THEN 105
-> WHEN name = 'David' THEN 104
-> ELSE 101
-> END;
Kết quả (sắp xếp theo giá trị CASE giảm dần):
+----+-------+
| id | name |
+----+-------+
| 4 | Sam |
| 3 | David |
| 2 | Bob |
| 1 | John |
+----+-------+