グループの表があります。
- id-一意のID(主キー)
- group-グループ名
ユーザーの表があります:
- username-一意の文字列(主キー)
- group_id-group.idへの外部キーリンク
この場合、ユーザーは1つのグループにのみ属します。では、MySQLで、グループとそのメンバーユーザーの数をリストするにはどうすればよいですか?
副選択とカウントを使用してみましたが、すべてのグループで同じカウントが表示されます。
グループの表があります。
ユーザーの表があります:
この場合、ユーザーは1つのグループにのみ属します。では、MySQLで、グループとそのメンバーユーザーの数をリストするにはどうすればよいですか?
副選択とカウントを使用してみましたが、すべてのグループで同じカウントが表示されます。
SELECT group.id,COUNT(users.username) FROM groups
INNER JOIN users ON users.group_id=groups.id
GROUP BY groups.id
@Michaelのコメントごとに空のグループを表示する場合は、代わりにLEFTJOINを使用できます。
select g.group, count(*) as group_count
from groups g, users g
where g.id=u.group_id
group by g.groupname