2013-07-24 5 views
0

Как мне нужно первое, а затем показать положительные числа отрицательных чисел при сортировке чисел в SQL Server 2008.Отсортировать Postive и отрицательные числа, чтобы показать положительные числа первых

Ex: Допустим, у меня есть цифры - 4, -3, null, 2,3 Тогда ожидаемый результат: 2,3, -4, -3, null

+2

http://stackoverflow.com/questions/14908147/orderby-in-sql-server-to-put-positive-values -До-отрицательные стоимостей – Riv

ответ

4

На основании вашего небольшого примера кажется, что вы хотите, чтобы положительные числа в порядке возрастания, а затем отрицательные числа в порядке возрастания.

Это делает проблему немного более интересной. Попробуйте это 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; 
Смежные вопросы