我们能否以与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)
热门推荐
10 祝孙辈生日祝福语简短
11 恋人跨年祝福语大全简短
12 考大学敬酒简短祝福语
13 开工投产大吉祝福语 简短
14 偶然结婚祝福语朋友简短
15 感谢学长学姐祝福语简短
16 戏精的祝福语简短
17 我要结婚祝福语简短
18 婚前女儿生日祝福语简短