我们能否以与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)
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短