Може да използва SIGN за да сортирате положителните числа до върха, след това вземете абсолютната стойност с ABS за да получите желания ASC/DESC.
SELECT * FROM theTable
ORDER BY SIGN(col) DESC, ABS(col)
РЕДАКТИРАНЕ
Както посочи Науел, горното ще сортира 0 до средата между положителни и отрицателни. За да ги групирате с положителните, можете да използвате CASE
вместо това (или, ако колоната ви е само цели числа, леко магическият SIGN(col + 1)
)
SELECT * FROM theTable
ORDER BY
CASE WHEN col >= 0 THEN 1 ELSE 2 END,
ABS(col)