sql - SQL Server 中的 Order By 将正值放在负值之前

标签 sql sql-server sql-order-by

我在 SQL Server 中有一个表,其中包含“int”类型的列。该列可以包含正值和负值。我想根据该列值进行排序,使得该列中具有正值的行排在负值之前。

示例:

Code SortColumn
A     1
B     5
C    -1
D    -3
E     0
F     2

期望的输出:

Code SortColumn
E        0
A        1
F        2
B        5
C       -3
D       -1

最佳答案

Select * from Table
order by 
Case when sortcolumn<0 then 1 else 0 end
,sortcolumn

关于sql - SQL Server 中的 Order By 将正值放在负值之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14908147/

相关文章:

mysql - 如何在 MySQL 中正确地对 2 列查询求和

java - 如何使用 Java 存储过程显示表数据?

sql - 如何将数据库从单用户模式更改为多用户模式

sql-server - 自动刷新 SQL Server Management Studio 中的查询?

MySQL - 以编程方式设置列顺序

sql - oracle中序列中MAXVALUE的最大值是多少?

sql-server - 使用 Entity Framework 代码优先创建存储过程?

php - 如何对 MYSQL 查询进行排序以按字母顺序显示,数字最后,并且排序中不包含单词 "The"

ORDER BY FIELD 中使用的 MySQL 字符串

使用递归的 SQL-Oracle 更新表