1

次のような 3 つのテーブルがあるとします。

users:
id

event_registration:
id
user_id
event_id

events:
id

ユーザーがイベントに登録すると、この登録は event_registration に記録されます。

特定のユーザー セットが単一の MySQL ステートメントで相互に共有するイベントの数を計算する方法はありますか? 2 人のユーザーに対してこれを行う方法を見つけましたが、X 人のユーザー (1 人のユーザーを含む) をサポートするようにリファクタリングしたいと思います。

4

1 に答える 1

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

句で使用している s の数に合わせ3て、having句の数を調整する必要があります。user_idin

于 2012-09-08T00:50:49.210 に答える