如果我有:
ID | Title
1 | Shirt
2 | CD
3 | Cap
4 | Mp3
5 | Badge
如果我想按此顺序排序:4,2,5,3,1。有没有办法在您明确指定的情况下进行SQL查询?类似的东西:
select * from TABLE order by ID(4,2,5,3,1) ??
答案 0 :(得分:26)
实际上,你非常接近。这很简单:
select * from TABLE order by field(ID,4,2,5,3,1)
答案 1 :(得分:4)
您可以在ORDER BY中使用CASE作为基本查找表:
select *
from your_table
order by
case id
when 4 then 1
when 2 then 2
when 5 then 3
when 3 then 4
when 1 then 5
end
答案 2 :(得分:2)
select * from TABLE order by ID=1,ID=3,ID=5,ID=2,ID=4;
你跑了这个,让我知道你的怀疑。