Mysql SQL-如何在同一个团队中获得多个管理员
我有一个团队成员表,结构简化如下Mysql SQL-如何在同一个团队中获得多个管理员,mysql,sql,Mysql,Sql,我有一个团队成员表,结构简化如下 team_member_id | team_id | role 1 | 1 | ADMIN 2 | 1 | USER 3 | 2 | ADMIN 4 | 2 | ADMIN 最后两个人是同一个团队的管理员。我需要建立SQL查询,它将告诉我有多少个团队,每个团队有一个以上的管理员 SELECT COUNT(`r
team_member_id | team_id | role
1 | 1 | ADMIN
2 | 1 | USER
3 | 2 | ADMIN
4 | 2 | ADMIN
最后两个人是同一个团队的管理员。我需要建立SQL查询,它将告诉我有多少个团队,每个团队有一个以上的管理员
SELECT COUNT(`role`)
FROM TABLE_NAME WHERE `role` = 'Admin'
GROUP BY `team_id`
HAVING COUNT(`role`) > 1
现场演示
现场演示
尝试groupby并使用计数大于1的have,您使用的是哪种?“SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加标记,
postgresql
,oracle
,sql server
,db2
,…请尝试groupby并使用have with count>1您使用的是哪种?“SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加一个标记,postgresql
,oracle
,sql server
,db2
,…您错过了“每个团队有多个管理员”部分。我已经修复了它。感谢您注意到您遗漏了“每个团队有多个管理员”部分。我已经修复了它。谢谢你注意到所有的答案都是好的,我有一个线索,我将不得不使用计数和分组方式,但这将需要一段时间来完成。我已经很久没有使用SQL了。感谢SQLFiddle链接-我将把它用作一个游乐场。所有答案都很好,我有一个想法,我将不得不使用COUNT和GROUP BY,但这将需要一段时间才能完成。我已经很久没有使用SQL了。感谢SQLFiddle链接-我将把它用作游乐场。
SELECT COUNT(Role),
Team_id
FROM MyTable
WHERE Role = 'Admin'
GROUP BY Team_id
HAVING COUNT(Role) > 1
SELECT COUNT(team_id) -- Count Of Team_id Having More Than One ADMIN
FROM (
SELECT team_id,COUNT(*) -- COUNT ADMIN PER Team_id
FROM Table1
WHERE role='ADMIN'
GROUP BY team_id
HAVING COUNT(*)>1
) AS T1