获取每个用户角色的计数

get count of each users role

我想在用户角色 table 中获取每个用户角色计数。

我可以在结果中获取用户名和角色名,但我不知道如何获取每个用户的角色数。

我的查询:

SELECT users.first_name,
roles.name FROM user_roles
JOIN users
on users.id = user_roles.user_id
JOIN roles
on roles.id = user_roles.role_id;

#数据库结构:

roles => [id,name]
users => [id,first_name,last_name]
user_roles => [user_id,role_id]

只需添加一个 GROUP BYCOUNT:

SELECT users.first_name, COUNT(roles.id) AS role_count
FROM user_roles
JOIN users on users.id = user_roles.user_id
JOIN roles on roles.id = user_roles.role_id
GROUP BY users.id