2012-08-31 37 views
0

數爲那裏的數量低於PHP排序,而不使用ORDER BY DESC/ASC

GameID Turn 
3   2 
6   1 
7   2 
5   2 
8   0 
9   1 

return should be { for example GameID 6 is TURN for the Game or Left in the Game } 
GameID Turn 
6   1 
9   1 
8   0 
3   2 
5   2 
7   2 

another example { for example GameID 7 is TURN for the Game or Left in the Game } 
GameID Turn 
7   2 
3   2 
5   2 
8   0 
9   1 
6   1 

的東西,只是我需要找出一個樣本進行排序的可能方式。 這是可能的排序輪?

因爲這樣做爲了什麼就是這樣的2 1 0而ASC 0 1 2 BU我需要弄清楚的是,以這種方式進行排序{我們有0 1 2我不能使用ORDER BY轉DESC/ASC }如果我們現在開始在2則排序應該是這樣的2 0 1或者如果我們開始在一號彎道的種類應該是這樣1 2 0

我希望的東西讓我的觀點......

請我已經使用asort,但不適合。有沒有其他的PHP函數用於排序?

感謝...

回答

2

您可以ORDER BY FIELD嘗試:

SELECT * 
    FROM table 
ORDER BY FIELD(Turn, 1, 0, 2) ASC 
--       DESC 
+0

+1使用FIELD()! –

+0

@EugenRieck它可以通過PHP進行自動化 - 必須編寫一些規則。 – hsz

+1

我給+1的原因之一! –

0
SELECT 
    GameID,Turn 
FROM yourtableorview 
WHERE yourcriteria 
ORDER BY IF(Turn<$startturn,Turn+99999999,Turn)