Mysql-按照in里面的顺序进行排序

日常学习

今天工作遇到个问题,上级给我个excel,大概有1000行,有一个code列,要我更新里面列A和列B的值。我一想,这可以用in函数解决。马上打开Navicat,一波操作猛如虎,把最新的的数据给搞出来了,然后发现一个问题,我要怎么要这个数据更新导excel里面呢?这里可是有1000行数据。。。
假设下面是直接用in查询到的数据:

select code,A,B from test where code in(2,6,1,9,3);
code A B
3 4 0
2 6 7
6 8 2
9 4 5
1 2 6

发现一个问题,我想要的是2,6,1,9,3的顺序,怎么变成3,2,6,9,1了!!!
这时候就百度了,看了多篇不堪入目的解释后,终于找到了答案。要用到field函数
函数格式order by field(str,str1,str2,str3...)
str为字段,str1\str2\str3为具体的列值
不明白???
看代码:

select code,A,B from test where code in(2,6,1,9,3) order by field(code,2,6,1,9,3);

这样就可以按照2,6,1,9,3的顺序得到想要的结果了,然后就是复制粘贴了!!!

总结:

field函数可以指定顺序进行排序。

发布了38 篇原创文章 · 获赞 34 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_36522099/article/details/104678771