MySQLの - このフィールドによって発注せずにフィールドの値が> 10最初の行の選択クエリ

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           |
+--------------+-------------+--------------+--------------+

私が試したの束WHERESとORDER BYSを、私はこれが可能でもあるか、私はサブクエリを使用する必要があります、それを動作させるために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本の以上の合計のゲームをプレイしました。これら二つのブロック内では、データは、プレーヤーのタイプを昇順に続いてサインイン年によってソート昇順です。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=27894&siteId=1
おすすめ