在典型的ORDER BY clasue中,如果列只有数值。那么,怎样才能进行查询,以便结果将数字从1到无穷大排序,最后是零和负数。
我有这个表:TABLEONE
col1 | col2
0 | Zero
5 | Five
-2 | NA
1 | One
2 | Two
7 | NA
如果我通过此查询:
SELECT * FROM TABLEONE ORDER BY col1;
行按此顺序排序
-2, 0, 1, 2, 5, 7
我想要的是:
1, 2, 5, 7, 0, -2, -4 ... etc..
是否可以更改现有查询以获得该结果。感谢。
答案 0 :(得分:4)
答案 1 :(得分:0)
SELECT *
FROM TABLEONE
ORDER BY (col1 > 0) DESC, ABS(col1) ASC;