如何按照mysql“where in”子句中的条件顺序从数据库中获取结果?
e.g:
表
id name
1 | riz
2 | irf
3 | far
4 | zab
5 | yas
我希望我的数据按条件的顺序放在where子句中??
select * from foo where id in (2,3,4,1,5);
例如
id name
2 | irf
3 | far
4 | zab
1 | riz
5 | yas
答案 0 :(得分:3)
您可以使用:
select * from foo where id IN(2,3,4,1,5) order by FIND_IN_SET(id, '2,3,4,1,5');
它适用于你。
答案 1 :(得分:1)
您可以将每个ID作为不同的排序案例提供。
SELECT *
FROM foo
WHERE
id IN(2,3,4,1,5)
ORDER BY
id = 2 DESC,
id = 3 DESC,
id = 4 DESC,
id = 1 DESC,
id = 5 DESC
答案 2 :(得分:1)
SELECT *
FROM foo
where id in (2,3,4,1,5);
ORDER BY FIND_IN_SET( id, '2,3,4,1,5' )