2011-12-05 60 views
0

我有基团的一个表:如何使用MySQL计算每个用户的用户数?

  • ID - 一个唯一的ID(主键)
  • 基 - 组名

我有用户的一个表:

  • username - 唯一字符串(主键)
  • group_id - group.id的外键链接

在这种情况下,用户只会在一个单一的组中。那么,在MySQL中,我如何列出组和他们的成员用户数呢?

我尝试使用子选择和计数,但它最终显示在所有组相同的计数。

回答

6
SELECT group.id,COUNT(users.username) FROM groups 
INNER JOIN users ON users.group_id=groups.id 
GROUP BY groups.id 

您可以使用LEFT,如果你想每@显示空组迈克尔的评论

+1

+1,除了你可能想在'左JOIN'占空组JOIN代替。 –

+0

确实。接得好。 – methodin

+1

别名u未定义(或需要) –

0
select g.group, count(*) as group_count 
from groups g, users g 
where g.id=u.group_id 
group by g.groupname 
相关问题