SQL结果在同一列上排序两次

时间:2011-05-04 03:26:16

标签: sql sql-order-by

如何创建一个sql查询,命令所有提升的非0,然后是0?

因此该列的数据如下:

col
----
2
4
0
7
0
8

...我希望查询返回:

col
----
2
4
7
8
0
0

谢谢!

2 个答案:

答案 0 :(得分:8)

Select ...
From MyTable
Order By Case When Col = 0 Then 1 Else 0 End Asc, Col Asc

答案 1 :(得分:1)

使用:

  SELECT ...
    FROM YOUR_TABLE t
ORDER BY CASE 
           WHEN t.col = 0 THEN 999999 
           ELSE t.col
         END