今天工做遇到个问题,上级给我个excel,大概有1000行,有一个code列,要我更新里面列A和列B的值。我一想,这能够用in函数解决。立刻打开Navicat,一波操做猛如虎,把最新的的数据给搞出来了,而后发现一个问题,我要怎么要这个数据更新导excel里面呢?这里但是有1000行数据。。。
假设下面是直接用in
查询到的数据:web
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为具体的列值
不明白???
看代码:bash
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
的顺序获得想要的结果了,而后就是复制粘贴了!!!svg