明确指定mysql查询的排序顺序?

时间:2011-10-18 05:49:49

标签: mysql sql sql-order-by

如果我有:

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) ??

3 个答案:

答案 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;

你跑了这个,让我知道你的怀疑。