1

グループの表があります。

  • id-一意のID(主キー)
  • group-グループ名

ユーザーの表があります:

  • username-一意の文字列(主キー)
  • group_id-group.idへの外部キーリンク

この場合、ユーザーは1つのグループにのみ属します。では、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のコメントごとに空のグループを表示する場合は、代わりにLEFTJOINを使用できます。

于 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 に答える