在sql中按字符列'priority'排序

时间:2012-10-31 17:04:32

标签: sql tsql

我有一个表名为coulmn name priority的表:

Urgent, medium, low, high.

我希望通过以下方式应用订单:按照这样的顺序排序:

urgent
high 
medium
low

我该怎么做

3 个答案:

答案 0 :(得分:9)

您可以使用CASE表达式:

ORDER BY CASE Priority 
    WHEN 'urgent' THEN 1
    WHEN 'high' THEN 2
    WHEN 'medium' THEN 3
    WHEN 'low' THEN 4
    END

答案 1 :(得分:0)

select * from your_table
order by case when priority = 'urgent' then 1
              when priority = 'high' then 2
              when priority = 'medium' then 3
              when priority = 'low' then 4
         end

答案 2 :(得分:0)

您可以执行ORDER BY CASE WHEN类型的查询,您可以在其中为每个文本指定数值,但我建议您使用整数来直接指示数据中的嗜好等级。