如何按照mysql中“where in”子句中的条件顺序从数据库中获取结果?
例如:
桌子
id name
1 | riz
2 | irf
3 | far
4 | zab
5 | yas
我希望我的数据按条件放在 where in 子句中的顺序...?
select * from foo where id in (2,3,4,1,5);
例如。
id name
2 | irf
3 | far
4 | zab
1 | riz
5 | yas
如何按照mysql中“where in”子句中的条件顺序从数据库中获取结果?
例如:
桌子
id name
1 | riz
2 | irf
3 | far
4 | zab
5 | yas
我希望我的数据按条件放在 where in 子句中的顺序...?
select * from foo where id in (2,3,4,1,5);
例如。
id name
2 | irf
3 | far
4 | zab
1 | riz
5 | yas
您可以使用 :
select * from foo where id IN(2,3,4,1,5) order by FIND_IN_SET(id, '2,3,4,1,5');
它会为你工作。
SELECT *
FROM foo
where id in (2,3,4,1,5);
ORDER BY FIND_IN_SET( id, '2,3,4,1,5' )
您可以将每个 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