Sử dụng ORDER BY CASE để sắp xếp theo thứ tự tự định nghĩa. Tạo bảng:
mysql> CREATE TABLE DemoTable (
Color VARCHAR(100)
); Query OK, 0 rows affected (0.64 sec)
Chèn dữ liệu:
mysql> INSERT INTO DemoTable VALUES('Red'); Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DemoTable VALUES('Green'); Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable VALUES('Blue'); Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DemoTable VALUES('Yellow'); Query OK, 1 row affected (0.18 sec)
Hiển thị dữ liệu:
mysql> SELECT * FROM DemoTable;
Kết quả:
+--------+ | Color | +--------+ | Red | | Green | | Blue | | Yellow | +--------+ 4 rows in set (0.00 sec)
Sắp xếp theo thứ tự: Blue, Green, Yellow, các giá trị khác sau cùng:
mysql> SELECT * FROM DemoTable
ORDER BY CASE Color
WHEN 'Blue' THEN 10
WHEN 'Green' THEN 20
WHEN 'Yellow' THEN 30
ELSE 100 END;
Kết quả:
+--------+ | Color | +--------+ | Blue | | Green | | Yellow | | Red | +--------+ 4 rows in set (0.00 sec)