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;