了解相互分享的关系

时间:2012-09-08 00:48:10

标签: mysql sql

假设我有三个表格如下:

users:
id

event_registration:
id
user_id
event_id

events:
id

用户注册事件,此注册记录在event_registration中。

有没有办法可以计算一组用户在一个MySQL语句中共享的事件数?我想出了如何为两个用户执行此操作,但我想重构  它支持X个用户(包括一个用户)。

1 个答案:

答案 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的数量。