我有一个非常简单的项目所有权表,其中包含以下两列:
UserID, ItemID
UserID有一个索引,但不是ItemID。
我有一个10到40个特定ItemID
的S(在我的查询中它们只是一个逗号分隔的整数列表)。
我想找到S中至少拥有X(不同UserID
s)项的所有ItemID
。
如果重要,我正在使用MSSQL。这可以有效地完成吗?
答案 0 :(得分:3)
select UserID
from Ownership
where ItemID in (1,2,3,4,5,...) --your list of ItemIDs
group by UserID
having count(distinct ItemID) >= 3 --the minimum # of distinct items required