Поиск элементов в таблице, которые удовлетворяют условию подмножества частоты? - PullRequest
0 голосов
/ 21 декабря 2011

У меня есть очень простая таблица владения предметами с этими двумя столбцами:

UserID, ItemID

Существует индекс для UserID, но нет ItemID.

У меня есть набор S из 10-40 конкретных ItemID с (в моих запросах это просто список целых чисел, разделенных запятыми).

Я хочу найти все UserID с хотя бы X (отличных ItemID с) изэлементы в S.

Я использую MSSQL, если это имеет значение.Можно ли это сделать эффективно?

1 Ответ

3 голосов
/ 21 декабря 2011
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
...