Oddrigue:
私はしたいと思い SELECT
結果で、最初の行は10本の以上のゲームをプレイしプレーヤーであるところ、私のプレーヤーのテーブルに。何ばかりやってから私を妨げていることはORDER BY total_games
、私がしたいことであるORDER
ことでsignin_year
、その後によるplayer_type
以下の結果について。
+--------------+-------------+--------------+--------------+
| username | signin_year | player_type | total_games |
+--------------+-------------+--------------+--------------+
| John Doe | 2019 | 10 | 62 |
| Jon Skeet | 2019 | 20 | 2479 |
| Shmebulock | 2020 | 10 | 82 |
| Norman | 2020 | 20 | 154 |
| Bob | 2019 | 10 | 3 |
| Alice | 2020 | 10 | 9 |
| Community | 2020 | 20 | -1 |
+--------------+-------------+--------------+--------------+
私が試したの束WHERE
SとORDER BY
Sを、私はこれが可能でもあるか、私はサブクエリを使用する必要があります、それを動作させるためにseensできないのですか?
ティムBiegeleisen:
使用してみてくださいORDER BY
と一緒にCASE
表現:
SELECT *
FROM player
ORDER BY
CASE WHEN total_games > 10 THEN 0 ELSE 1 END,
signin_year,
player_type;
この場所の選手は、他のすべてのプレイヤーが続く、最初の10本の以上の合計のゲームをプレイしました。これら二つのブロック内では、データは、プレーヤーのタイプを昇順に続いてサインイン年によってソート昇順です。