几个团队的MySQL成员

时间:2015-09-11 10:39:04

标签: mysql sql

我有三个表:users,active_users和teams。

users: id, name
active_users: userId, teamId
teams: id, name

active_users将用户和团队“链接”在一起,以便用户可以属于多个团队,团队可以拥有多个用户。

假设我有5支身份来自1-5的球队

编写仅显示属于团队1,2和4的用户的查询的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

我喜欢使用group byhaving来解决这些问题。所以,这是一种方式:

select au.userId
from active_users au
where au.teamId in (1, 2, 4)
group by au.userId
having count(*) = 3;

这假设active_users没有重复。如果是,则在count(distinct)子句中需要having