SQL先按0排序,然后按数字/值下降

时间:2017-09-21 08:51:10

标签: sql sql-server

我有一个奇怪的情况,我需要先订购0,然后下降一列。

假设我的列看起来像这样

Status
------
3
4
0
5
1
2
4
0
2

现在我需要通过

订购
Status
------
0
0
5
4
4
3
2
2
1

这可能是SQL吗?我一直试图测试2天,但我被卡住了。

1 个答案:

答案 0 :(得分:9)

使用case表达式首先排序0,然后使用其余表达式。之后按状态desc排序:

order by case when Status = 0 then 0 else 1 end, status desc