gpt4 book ai didi

MySQL计数问题

转载 作者:太空宇宙 更新时间:2023-11-03 11:19:17 25 4
gpt4 key购买 nike

我有 3 个表 users(id,name),groups(id,name) 和 users_groups(user_id,group_id)。用户和组是多对多的关系,所以第三个用于存储用户和组的关系。我想从每个组中包含用户数的组中选择所有数据。到目前为止,我想出了这个:

SELECT groups.*, COUNT(users_groups.user_id) AS user_count
FROM groups
LEFT JOIN users_groups ON users_groups.group_id = groups.id

问题是查询结果没有返回任何没有用户的组(users_groups 没有任何包含这些组的 group_id 的记录)。


我应该如何创建查询以选择所有组及其用户计数,或者如果该组没有用户,则用户计数为 0?

最佳答案

你只需要添加 GROUP BY 子句:

SELECT groups.*, COUNT(users_groups.user_id) AS user_count
FROM groups
LEFT JOIN users_groups ON users_groups.group_id = groups.id
GROUP BY groups.id

对于没有对应 users_groups 记录的每个组,您将获得 0 的 user_count。

关于MySQL计数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2533225/

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