我们能否以与MySQL`IN(…)`语句中的值相同的顺序返回查询结果?
是的,您可以使用FIELD()MySQL的ORDERBY来实现。让我们首先创建一个表-
mysql> create table DemoTable -> ( -> Number int -> );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable values(19); mysql> insert into DemoTable values(30); mysql> insert into DemoTable values(34); mysql> insert into DemoTable values(28); mysql> insert into DemoTable values(25); mysql> insert into DemoTable values(29); mysql> insert into DemoTable values(24);
使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
这将产生以下输出-
+--------+ | Number | +--------+ | 19 | | 30 | | 34 | | 28 | | 25 | | 29 | | 24 | +--------+ 7 rows in set (0.00 sec)
以下是以与设置的值相同的顺序返回结果的查询-
mysql> select *from DemoTable -> ORDER BY FIELD(Number, 30,19,34,25,28,29,24) ;
这将产生以下输出,以相同顺序显示结果-
+--------+ | Number | +--------+ | 30 | | 19 | | 34 | | 25 | | 28 | | 29 | | 24 | +--------+ 7 rows in set (0.00 sec)
热门推荐
4 甄嬛传祝福语简短
10 幼儿住院祝福语老师简短
11 六一加端午祝福语简短
12 新年祝福语长辈简短红包
13 宝宝100日简短祝福语
14 给老板祝福语简短精辟
15 孩子满月随礼简短祝福语
16 母亲说生日祝福语 简短
17 祝福语同事离职英文简短
18 送师姐的祝福语简短