我有专栏:
CAT | Val
------------
none | 0
high | 5
low | 100
med | 50
如您所见,数字较低的类别较高。 (逆逻辑)除了0 ..
所以我想订购,以便我得到正确的类别订单。 (无,低,中,高)。
我希望它们按顺序排列:
CAT | Val
------------
none | 0
low | 100
med | 50
high | 5
我试过这个,但是工会,然后命令。每个选择周围的括号都会导致错误。
SELECT cat, an_int FROM CATS WHERE an_int = 0
UNION
SELECT cat, an_int FROM CATS WHERE an_int <> 0 ORDER BY an_int DESC
这给出了:
CAT | Val
------------
low | 100
med | 50
high | 5
none | 0
答案 0 :(得分:4)
试试这个:
select * from CATS
order by case when cat='none' then 0 else 1 end ,Val desc
答案 1 :(得分:1)
使用其他元素进行排序:
SELECT codepro, nr_cpl, 1 as c FROM reservoirs WHERE nr_cpl = 0
UNION
SELECT codepro, nr_cpl, 2 as c FROM reservoirs WHERE nr_cpl <> 0
order by c asc, nr_cpl desc
应该这样做。