0
我有這兩列一個非常簡單的項目所有權表:查找滿足子集頻率條件的表中的項目?
UserID, ItemID
上有用戶ID的索引,而不是項目ID。
我有一個10-40特定的集合S ItemID
(在我的查詢中,他們只是逗號分隔的整數列表)。
我想找到所有UserID
s表示自己在S.
至少物品的X(不同ItemID
S)我使用MSSQL如果它很重要。這可以有效地完成嗎?
我有這兩列一個非常簡單的項目所有權表:查找滿足子集頻率條件的表中的項目?
UserID, ItemID
上有用戶ID的索引,而不是項目ID。
我有一個10-40特定的集合S ItemID
(在我的查詢中,他們只是逗號分隔的整數列表)。
我想找到所有UserID
s表示自己在S.
至少物品的X(不同ItemID
S)我使用MSSQL如果它很重要。這可以有效地完成嗎?
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
這是我尋找的優雅解決方案。謝謝! – 2011-12-21 18:14:23
樂於幫助 - sometinmes SQL幾乎像英文一樣讀取。 – RedFilter 2011-12-21 18:20:22
@紅色過濾器:同意。這就是爲什麼[最初稱爲SEQUEL](http://en.wikipedia.org/wiki/SQL#History) - 結構化英語QUEry語言。 – 2011-12-21 21:45:08