在表格中查找满足子集频率条件的项目?

时间:2011-12-21 17:59:37

标签: sql sql-server frequency subset

我有一个非常简单的项目所有权表,其中包含以下两列:

UserID, ItemID

UserID有一个索引,但不是ItemID。

我有一个10到40个特定ItemID的S(在我的查询中它们只是一个逗号分隔的整数列表)。

我想找到S中至少拥有X(不同UserID s)项的所有ItemID

如果重要,我正在使用MSSQL。这可以有效地完成吗?

1 个答案:

答案 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