Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Sắp xếp theo điều kiện tùy chỉnh trong MySQL

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  |
+----+-------+