我正在尝试计算 2 个表,但我没有看到我的查询有什么问题,但我得到了错误的结果。用户 2 在 table_two 中不存在,所以零是正确的。
SELECT t1.creator_user_id, COUNT(t1.creator_user_id), COUNT(t2.user_id)
FROM table_one AS t1
LEFT JOIN table_two AS t2 ON t2.user_id = t1.creator_user_id
GROUP BY t1.creator_user_id, t2.user_id
实际结果
1 192 192
2 9 0
预期结果
1 16 12
2 9 0
结果表明按条件缺少组,但我已经使用了两个字段。
我哪里错了?
另外,我可以总结一下 table_two 中不存在的所有用户 t1 吗?就像用户 3 在 t1 中存在 21 次一样,那么结果将是:
1 16 12 (users with > 0 in t2 will need their own row)
2 30 0 (user 2=9 + user 3=21 => 30)
对于 t2 中为 0 的所有用户,用户 ID 对于 t1 的总和是错误的,这是可以的。如果不可能,那么我将只做两个查询。