sql - ORDER BY separately positive & negative numbers in MySQL statement -
i have mysql table , return rows based on column value in order:
- first ascending order if column >=0
- then descending order if column <0
e.g. 0,2,4,7,-2,-3,-5
can use sign sort positive numbers top, take absolute value abs desired asc/desc.
select * thetable order sign(col) desc, abs(col) edit
as nahuel pointed out, above sort 0's middle between positive , negative. instead group them positives, can use case instead (or, if column integers, magical sign(col + 1))
select * thetable order case when col >= 0 1 else 2 end, abs(col)
Comments
Post a Comment