因此,我已经看到使用多个表完成了此操作,但对如何使用多个表感到困惑。我想选择锦标赛中正确参赛的数量。这有效,除非用户没有正确。然后它返回 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 不在第一个输出中,而是在第二个输出中