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
結果は条件によるグループが欠落していることを示していますが、すでに両方のフィールドが使用されています。
どこが間違っていますか?
また、 t1 の table_two に存在しないすべてのユーザーを合計できますか? ユーザー 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 のすべてのユーザーの t1 の合計に対してユーザー ID が間違っていても問題ありません。不可能な場合は、2 つのクエリを実行します。