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

Popular posts from this blog

Glib GIOChannel -

jsp - java.sql.SQLException: [Microsoft][ODBC Microsoft Access > Driver] Too few parameters. Expected 1 -

delphi - When I encode/decode SMS PDU (GSM 7 Bit) user data, do I need prepend the UDH first? -