gpt4 book ai didi

mysql - 跨多个表的 COUNT 个问题

转载 作者:行者123 更新时间:2023-11-29 00:40:24 24 4
gpt4 key购买 nike

我正在尝试对 2 个表进行计数,但我没有看到我的查询有什么问题,但我得到了错误的结果。 table_two 中不存在用户 2,因此零是正确的。

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 错误是可以的。如果不可能,那么我只做两个查询。

最佳答案

试试这个:

SELECT t1.creator_user_id, 
Count(*),
(SELECT Count(*)
FROM table_two
WHERE table_two.user_id = t1.creator_user_id)
FROM table_one AS t1
GROUP BY t1.creator_user_id

SQL FIDDLE DEMO

关于mysql - 跨多个表的 COUNT 个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12495409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com