2012-10-31 55 views
3

字符列「優先」我有一個coulmn名優先級的表值:排序在SQL

Urgent, medium, low, high. 

我想通過這樣的應用以便之後爲了通過值排序是這樣的:

urgent 
high 
medium 
low 

我怎樣才能做到這

回答

8

您可以使用一個CASE表達:

ORDER BY CASE Priority 
    WHEN 'urgent' THEN 1 
    WHEN 'high' THEN 2 
    WHEN 'medium' THEN 3 
    WHEN 'low' THEN 4 
    END 
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 
0

你可以做一個ORDER BYCASE WHEN類型的查詢,在那裏你數值分配給每個文本,但我建議使用一個整數,直接表明你的數據priotity水平。