列名の優先順位が値を持つテーブルがあります。
Urgent, medium, low, high.
order by 値が次のように並べられるように order by を適用したい:
urgent
high
medium
low
これどうやってするの
CASE
そのために式を使用できます。
ORDER BY CASE Priority
WHEN 'urgent' THEN 1
WHEN 'high' THEN 2
WHEN 'medium' THEN 3
WHEN 'low' THEN 4
END
ORDER BY
CASE WHEN
各テキストに数値を割り当てるタイプのクエリを実行できますが、整数を使用してデータに適切なレベルを直接示すことをお勧めします。
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