3

列名の優先順位が値を持つテーブルがあります。

Urgent, medium, low, high.

order by 値が次のように並べられるように order by を適用したい:

urgent
high 
medium
low

これどうやってするの

4

3 に答える 3

10

CASEそのために式を使用できます。

ORDER BY CASE Priority 
    WHEN 'urgent' THEN 1
    WHEN 'high' THEN 2
    WHEN 'medium' THEN 3
    WHEN 'low' THEN 4
    END
于 2012-10-31T17:06:10.140 に答える
0

ORDER BY CASE WHEN各テキストに数値を割り当てるタイプのクエリを実行できますが、整数を使用してデータに適切なレベルを直接示すことをお勧めします。

于 2012-10-31T17:08:54.810 に答える
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
于 2012-10-31T17:07:01.737 に答える