したがって、これが複数のテーブルで行われるのを見てきましたが、これが複数のテーブルでどのように機能するかについて混乱しています。トーナメントでの正しいエントリー数を選択したい。これは、ユーザーが何も権利を得ていない場合を除いて機能します。その後、NULL を返します。これを0に戻したい。
Table-tournament_entries
Column
=============
id
tournament_id
game_id
user_id
username
prediction
correct
これが私が実行するクエリです。質問が正しくなかったユーザーも含めて、すべてのユーザーを返すことを望んでいます。
SELECT
tournament_id, username, user_id, COUNT(`prediction`)
FROM
tournament_entries
WHERE
correct = 1 AND tournament_id = 1
GROUP BY
username
ORDER BY
COUNT(`prediction`) DESC
LIMIT 0,10
編集:混乱して申し訳ありませんが、クエリを実行するとこれが表示されます
username user_id CorrectAns
mj 455 10
charlie 1 8
bill 2 8
doug 51 7
しかし、表示されていない、権利が 0 のユーザーがいます。提案されたクエリを実行すると、質問の数が表示されます。
username user_id CorrectAns
mj 455 16
charlie 1 16
bill 2 16
doug 51 16
sydney 452 16
Joe 218 16
sydney と joe が最初の出力ではなく、2 番目の出力にあることに気付いた場合