在非零行之后对0值数据库行进行排序

时间:2011-01-03 03:17:45

标签: mysql sorting

id rank 
5   1
3   2
4   3

1   0
2   0
6   0

结果:rank = 0之后rank > 0

我不知道如何使用SQL ORDER BY排序结果

1 个答案:

答案 0 :(得分:6)

  SELECT *
    FROM mytable
ORDER BY IF(rank > 0, 0, 42),
         rank

42 任何正数字。我之所以选择42只是因为它是http://en.wikipedia.org/wiki/Answer_to_the_Ultimate_Question_of_Life,_the_Universe,_and_Everything