假设我有三个表格如下:
users:
id
event_registration:
id
user_id
event_id
events:
id
用户注册事件,此注册记录在event_registration中。
有没有办法可以计算一组用户在一个MySQL语句中共享的事件数?我想出了如何为两个用户执行此操作,但我想重构 它支持X个用户(包括一个用户)。
答案 0 :(得分:1)
试
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
的数量。