Puede usar SIGN para ordenar los números positivos en la parte superior, luego tome el valor absoluto con ABS para obtener el ASC/DESC deseado.
SELECT * FROM theTable
ORDER BY SIGN(col) DESC, ABS(col)
EDITAR
Como señaló Nahuel, lo anterior clasificará los 0 en el medio entre positivo y negativo. Para agruparlos con los positivos, puedes usar un CASE
en su lugar (o, si su columna es solo números enteros, el levemente mágico SIGN(col + 1)
)
SELECT * FROM theTable
ORDER BY
CASE WHEN col >= 0 THEN 1 ELSE 2 END,
ABS(col)