それぞれの「仕事」の量に基づいて、ユーザー名のリストを生成して順序付ける方法を理解しようとしています。
テーブル、共有を考えてみましょう。各共有には、とりわけ、ユーザー名と難易度 (2 の 2 乗の数字) が含まれています。COUNT(username) に難易度を掛けて、ユーザーにクレジットを割り当て (そしてリストを並べ替え) たいと思います。
難易度を考慮していない現在のクエリを次に示します。エラーを発生させることなく、さらにグループ化/参加を行うことができませんでした。
SELECT username, COUNT(username) AS occurences
FROM shares
GROUP BY username
ORDER BY occurences DESC
ユーザーは、複数の難易度で共有を送信できます。目的は、「共有回数の難易度」の数値が最初に最も高く、最後に最も低いユーザーをランク付けすることです。
ユーザーごとに人気の高い難易度を表示できればボーナスポイント。ありがとう!