在 SQL Server 2008 中对数字进行排序时,我如何需要先显示正数然后显示负数。
例如:假设我有数字 -4,-3,null,2,3 那么预期结果:2,3,-4,-3,null
在 SQL Server 2008 中对数字进行排序时,我如何需要先显示正数然后显示负数。
例如:假设我有数字 -4,-3,null,2,3 那么预期结果:2,3,-4,-3,null
根据您的小示例,您似乎希望正数按升序排列,然后负数按升序排列。
这使问题变得更有趣。试试这个order by
子句:
order by (case when col > 0 then 2 when col < 0 then 1 else 0 end) desc,
col asc
这是一个例子:
with t as (select 2 as col union all select 3 union all select -4 union all select -3 union all select null)
select *
from t
order by (case when col > 0 then 2 when col < 0 then 1 else 0 end) desc,
col asc;