2
我想排序的排名列表的運動員,所有這些都有排名位置。然而,有些是新的巡迴賽,所以他們的排名是0.如果我簡單地按位置ASC排序,0將首先出現,我希望他們在剩下之後出現。我曾嘗試類似:MySQL排序排名名單與位置0
SELECT * FROM rankings WHERE season='$season' ORDER BY CASE position = 0 THEN 999, ELSE position ASC
我想排序的排名列表的運動員,所有這些都有排名位置。然而,有些是新的巡迴賽,所以他們的排名是0.如果我簡單地按位置ASC排序,0將首先出現,我希望他們在剩下之後出現。我曾嘗試類似:MySQL排序排名名單與位置0
SELECT * FROM rankings WHERE season='$season' ORDER BY CASE position = 0 THEN 999, ELSE position ASC
試試這個:
SELECT *, (CASE position WHEN 0 THEN 999 ELSE position) AS custom_sort FROM rankings WHERE season='$season' ORDER BY custom_sort ASC
可以嚴格ORDER BY
子句中處理它
SELECT *
FROM rankings
WHERE season='$season'
ORDER BY (position=0) ASC, position ASC
[MySQL查詢訂單的
可能重複其他人面前一定值](http://stackoverflow.com/questions/4371193/mysql-query-order-by-certain-values-before-others) –
你可以舉一個例子,說明你想如何看待輸出。我不知道我是否完全按照你希望的結構看起來。 –