我想按照我的顺序选择多个ID。例如:
SELECT * FROM mytable WHERE id IN (3,1,4)
我希望订单是: 3 1 4 与我的查询相同。
有什么想法吗?
答案 0 :(得分:3)
您可以使用case
声明作为您的订单。
SELECT * FROM mytable WHERE id IN (3,1,4)
ORDER BY
CASE
WHEN id = 3 THEN 1
WHEN id = 1 THEN 2
WHEN id = 4 THEN 3
END
答案 1 :(得分:0)
一种方法是使用instr()
:
order by instr(',3,1,4,', ',' || id || ',')