1

我有一个组表:

  • id -- 唯一 ID(主键)
  • group -- 组名

我有一张用户表:

  • 用户名——一个唯一的字符串(主键)
  • group_id -- group.id 的外键链接

在这种情况下,用户只会在一个组中。那么,在 MySQL 中,我如何列出组及其成员用户数?

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

4

2 回答 2

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

如果您想根据@Michael 的评论显示空组,您可以使用 LEFT JOIN

于 2011-12-05T20:14:46.393 回答
0
select g.group, count(*) as group_count
from groups g, users g
where g.id=u.group_id
group by g.groupname
于 2011-12-05T20:16:27.673 回答