假设我有三张桌子看起来像:

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/

10-09 21:48