2012-08-31 3 views
0

에 의해 ORDER를 사용하지 않고 수는 내가 알아 내야 만 샘플이었다PHP 정렬 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 내가 알아 내기 위해 필요한 BU ASC 0 1 2가이 방법을 정렬하는 동안 {우리가 가진 0 1 2처럼 뭔가 때문에

나는 차례 DESC/ASC 하여 ORDER를 사용할 수 없습니다 } 지금 이미

... 난 제발 우리가 2에서 시작하면 다음 정렬이 2 0 1과 같이해야 또는 우리가 차례 1에서 시작하면 종류가 이런 식으로 1 2 0

난 내 포인트를 얻을 것을 희망해야한다 asort를 사용했지만 적합하지 않습니다. 정렬을위한 다른 PHP 함수가 있습니까?

덕분에 ...

답변

2

당신은 ORDER BY FIELD으로 시도 할 수 있습니다 : 필드를 사용

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

+1()! –

+0

@EugenRieck PHP로 자동화 할 수 있습니다 - 일부 규칙을 작성해야합니다. – hsz

+1

내가 +1을 준 이유 중 하나는! –

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