您如何找到具有X,Y,Z成员的组?

时间:2018-09-23 08:17:56

标签: sql

在一对多关系中,假设Group有很多Members,而我有3个成员。我如何找到他们所属的小组?

users
-------
1 Alice
2 Bob
3 Charlie
4 Doug


groups
-------
1 Pokemon Club
2 Bitcoin Club
3 Sunday Martinis
4 WSB

members
-------
group_id, user_id
1, 1
1, 2
1, 3
2, 1
2, 2
2, 3
3, 1
3, 2
3, 4
4, 3

我想设计一个SQL,以便在给定用户1、2和3的情况下获得组1和2。我该怎么做?

1 个答案:

答案 0 :(得分:2)

这应该对您有帮助

select group_id from members 
where user_id in(1,2,3)
group by group_id
having count(group_id) = 3;