1

これが次の名前のテーブルであるとしましょうfixtures:

id | team1 | team2
1  | 25    | 40
2  | 10    | 0
3  | 13    | 8
4  | 0     | 18
5  | 32    | 12

team10 または 0の行がteam2最後になるように結果を並べ替える必要があります。他の行の順序は、少なくとも 1 つの 0 を含む行の前にある限り、重要ではありません。互いに対する 0 行の順序も重要ではありません。したがって、上記の例では、出力行 ID の順序は次のようになります。

1, 3, 5, 2, 4

すべての結果を取得した後、PHPでこれを実行できることはわかっていますが、クエリで実行する方法があるかどうか疑問に思っていました.

注: 他のすべての値 (0 を除く) は、正の整数のみにすることができます。

4

1 に答える 1

3

これを試してみてください。

SELECT  ID
FROM    TableName
ORDER   BY (LEAST(team1, team2) = 0), ID

出力

╔════╗
║ ID ║
╠════╣
║  1 ║
║  3 ║
║  5 ║
║  2 ║
║  4 ║
╚════╝
于 2013-04-15T13:23:26.610 に答える