一尘不染

MySQL按给定顺序选择WHERE

mysql

我有类似的东西

SELECT * FROM table WHERE id IN (118,17,113,23,72);

如果我只是这样做,它将以ID升序返回行。有没有一种方法可以按照IN语句中给出的顺序取回行?


阅读 275

收藏
2020-05-17

共1个答案

一尘不染

您应该使用“ ORDER BY FIELD”。因此,例如:

SELECT * FROM table WHERE id IN (118,17,113,23,72) 
ORDER BY FIELD(id,118,17,113,23,72)
2020-05-17