如果这是一个简单的问题,很抱歉。但是,我已经搜索了大约一个小时的高低答案。
我有一个db_table,我需要对其进行排序以输出到网页中的表。数据通过以下方式存储在db_table中:
date Area Value
------ ------ -------
11-mar-18 middle 10
11-mar-18 bottom 5
11-mar-18 top 12
12-mar-18 top 14
12-mar-18 bottom 4
12-mar-18 middle 17
问题是:如何对它们进行排序以产生以下结果:
date Area Value
------ ------ -------
11-mar-18 top 12
11-mar-18 middle 10
11-mar-18 bottom 5
12-mar-18 top 14
12-mar-18 middle 17
12-mar-18 bottom 4
任何帮助是极大的赞赏。
最佳答案
select *
from db_table
order by "date",
case
when area = 'top' then 1
when area = 'middle' then 2
when area = 'bottom' then 3
else 4
end;
请参阅Custom Sort Order