要以特定顺序显示记录列表,您需要设置条件并使用ORDER BY。为此,请使用ORDER BY CASE语句。让我们首先创建一个表-mysql> create table DemoTable2039
-> (
-> Name varchar(20)
-> );
使用插入命令在表中插入一些记录-mysql> insert into DemoTable2039 values('John Doe');
mysql> insert into DemoTable2039 values('John Smith');
mysql> insert into DemoTable2039 values('Chris Brown');
mysql> insert into DemoTable2039 values('Adam Smith');
mysql> insert into DemoTable2039 values('David Miller');
使用select语句显示表中的所有记录-mysql> select *from DemoTable2039;
这将产生以下输出-+--------------+
| Name |
+--------------+
| John Doe |
| John Smith |
| Chris Brown |
| Adam Smith |
| David Miller |
+--------------+
5 rows in set (0.00 sec)
这是查询以ASC顺序显示特定记录列表-mysql> select *from DemoTable2039
-> order by
-> case when Name like '%Smith%' then 101
-> else
-> 100
-> end,
-> Name;
这将产生以下输出-+--------------+
| Name |
+--------------+
| Chris Brown |
| David Miller |
| John Doe |
| Adam Smith |
| John Smith |
+--------------+
5 rows in set (0.37 sec)