使用MySQL实施特定的记录排序

要设置特定的记录顺序,请使用ORDER BY LIKE。让我们首先创建一个表-

mysql> create table DemoTable808(Value varchar(100));

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable808 values('smith');
mysql> insert into DemoTable808 values('Adamsmith');
mysql> insert into DemoTable808 values('Carolsmith');
mysql> insert into DemoTable808 values('smithJohn');

使用select语句显示表中的所有记录-

mysql> select *from DemoTable808;

这将产生以下输出-

+------------+
| Value      |
+------------+
| smith      |
| Adamsmith  |
| Carolsmith |
| smithJohn  |
+------------+
4 rows in set (0.00 sec)

以下是设置特定顺序的查询-

mysql> select *from DemoTable808
order by case when Value like 'smith%' then 0 else 1 end asc,Value asc;

这将产生以下输出-

+------------+
| Value      |
+------------+
| smith      |
| smithJohn  |
| Adamsmith  |
| Carolsmith |
+------------+
4 rows in set (0.00 sec)