id rank 5 1 3 2 4 3 1 0 2 0 6 0
Результаты: rank = 0 после rank > 0
rank = 0
rank > 0
Я не знаю, как использовать SQL ORDER BY сортировку результатов
SQL ORDER BY
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
42