一些业务上的需要,IN (id1, id2,id3..)结果集还是需要按(id1,id2,id3...)的顺序排序,在MySQL中如何做呢?
答案是使用Mysql的FIELD函数:
使用案例:
SELECT * FROM user WHERE id IN (5, 3, 4, 9, 7) ORDER BY FIELD (id, 5, 3, 4, 9, 7);
求教:
SELECT * FROM user WHERE id IN (5, 3, 4, 9, 7) ORDER BY id;
这么写有什么问题?
@esnake0
我说的是按 任就按5,3,4,9,7的顺序排序。order by id 是根据id的大小来排序,出来的结果会变成3,4,5,7,9。
不好意思,之前沒看明白問題, 你這麼說就懂了。
多謝交流,很有用的小技巧
小青
esnake0
shiny
大爱无疆
艾特华
冰糖葫芦
马兜铃
zijun
JON_愚
TOng
zy513141476
西顾先生
扫一扫 关注好知微信