Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL-如何在同一个团队中获得多个管理员_Mysql_Sql - Fatal编程技术网

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