我有两个表:
user_groups
id name created_user
1 gn1 3
2 gn2 3
user_group_has_users
group_id user_id
2 5
2 6
我想计算每个组的用户数和类似的输出:
id name user_count
2 gn2 2
1 gn1 0
我试过这个查询
select g.*,
count(cg.user_id) as user_count
from user_groups as g
left join user_group_has_users as cg on cg.user_group_id = g.id
where g.created_user = 3
但是它只返回一行。我不明白为什么会这样。
请帮我。
最佳答案
使用此查询
SELECT g.* ,COUNT(cg.user_id) AS user_count
FROM user_groups g
LEFT JOIN user_group_has_users cg ON cg.group_id = g.id
WHERE g.created_user = 3
GROUP BY g.id
ORDER BY user_count DESC ;
关于php - 无法根据情况选择计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29385483/