有没有一种方法可以返回按“ WHERE IN”顺序排序的SELECT结果。价值观? [英] Is there a way to return SELECT results sorted by order of "WHERE IN" values?
本文介绍了有没有一种方法可以返回按“ WHERE IN”顺序排序的SELECT结果。价值观?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
说我有电话
SELECT * FROM tablename WHERE id IN (5,3,8,9);
返回ID顺序为3、5、8、9的结果。有没有办法让它以给定的5、3、8、9顺序返回结果?
That returns the results in the id order of 3,5,8,9. Is there any way to get it to return the results in the given 5,3,8,9 order?
推荐答案
SELECT * FROM tablename WHERE id IN (5,3,8,9)
ORDER BY
CASE id
WHEN 5 THEN 1
WHEN 3 THEN 2
WHEN 8 THEN 3
WHEN 9 THEN 4
ELSE 5
END
Fiddle
这篇关于有没有一种方法可以返回按“ WHERE IN”顺序排序的SELECT结果。价值观?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文