假设我有三张桌子看起来像:
users:
id
event_registration:
id
user_id
event_id
events:
id
用户注册一个事件,此注册记录在事件注册中。
有没有一种方法可以计算给定一组用户在一个MySQL语句中相互共享的事件数?我知道如何为两个用户这样做,但我想重构
它支持X个用户(仅包括一个用户)。
最佳答案
尝试
select count(event_id) as events
from event_registration
where user_id in (1,2,3)
group by event_id
having count(distinct user_id) = 3
您必须将
3
子句中的having
数调整为user_id
子句中使用的in
数。关于mysql - 获取相互共享的关系数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12327123/