获取每个用户角色的计数
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 BY
和 COUNT
:
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
我想在用户角色 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 BY
和 COUNT
:
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