1

让我解释一下:我需要按升序对列表进行排序,而结果最后小于零。

例子:

**Field**  
2  
5  
15  
19  
0  
-5  
-19 

我可以使用 UNION 加入两个查询的结果,但我只想使用一个,这可能吗?

任何告诉如何以这种方式订购的答案将不胜感激。

4

1 回答 1

4

在正常查询结束时使用以下 ORDER BY(无联合)

order by (case when field>0 then 0 else 1 end), field

或者,如果您的数据库系统的 SQL 风格支持将布尔值隐式转换为整数:

order by (field <= 0), field
于 2012-06-29T04:10:31.763 回答