Computer >> Máy Tính >  >> Lập trình >> MySQL

Chỉ hiển thị danh sách các bản ghi theo thứ tự ASC với MySQL

Để hiển thị danh sách các bản ghi theo một thứ tự cụ thể, bạn cần đặt điều kiện và sử dụng ORDER BY. Đối với điều này, hãy sử dụng câu lệnh ORDER BY CASE. Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable2039
   -> (
   -> Name varchar(20)
   -> );
Query OK, 0 rows affected (0.62 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable2039 values('John Doe');
Query OK, 1 row affected (0.15 sec)

mysql> insert into DemoTable2039 values('John Smith');
Query OK, 1 row affected (0.08 sec)

mysql> insert into DemoTable2039 values('Chris Brown');
Query OK, 1 row affected (0.07 sec)

mysql> insert into DemoTable2039 values('Adam Smith');
Query OK, 1 row affected (0.10 sec)

mysql> insert into DemoTable2039 values('David Miller');
Query OK, 1 row affected (0.09 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable2039;

Điều này sẽ tạo ra kết quả sau -

+--------------+
| Name         |
+--------------+
| John Doe     |
| John Smith   |
| Chris Brown  |
| Adam Smith   |
| David Miller |
+--------------+
5 rows in set (0.00 sec)

Đây là truy vấn để hiển thị danh sách bản ghi cụ thể theo thứ tự ASC -

mysql> select *from DemoTable2039
   -> order by
   -> case when Name like '%Smith%' then 101
   -> else
   -> 100
   -> end,
   -> Name;

Điều này sẽ tạo ra kết quả sau -

+--------------+
| Name         |
+--------------+
| Chris Brown  |
| David Miller |
| John Doe     |
| Adam Smith   |
| John Smith   |
+--------------+
5 rows in set (0.37 sec)