SELECT *
FROM (SELECT id, user, MAX(score) FROM table_1 GROUP BY user) AS sub
ORDER BY 'sub.score' ASC;
このSQLクエリでは、テーブルごとにユーザーごとのスコアと精度の高いものを選択する必要があります。GROUP BYの後のORDER BYは有効ではありません
テーブル構造はこれです:
+-----------------------+
| id | score | username |
+-----------------------+
| 1 | 15 | mike |
| 2 | 23 | tom |
| 3 | 16 | mike |
| 4 | 22 | jack |
etc..
結果は以下のようにする必要があります:
3 mike 16
2 tom 23
4 jack 22
そして並べ替え:
3 mike 16
4 jack 22
2 tom 23
しかし、クエリがでサブクエリの順序を変更しません。スコア。それを行う方法?ユーザーを想定し
私はStackOverflowのにこれを移行するために投票した:あなたは、サブクエリでクエリを実行したい場合は
: は、単にあなたがこの方法を使用することができます。この質問を削除またはクロスポストするべきではありませんStackoverflow。 –
これは任意のIDを返します – Strawberry
あなたはサブテーブルに**スコア**を持っていないと思います。なぜなら、最大(スコア)エイリアスを与えないからです。 –