Например, у меня есть следующая таблица: Information
user_id | item
-------------------------
45 | camera
36 | smartphone
23 | camera
1 | glucose monitor
3 | smartwatch
2 | smartphone
7 | smartphone
2 | camera
2 | glucose monitor
2 | smartwatch
Как я могу проверить, какой user_id имеет хотя бы один из каждого элемента?
Следующие элементы не будут статичными и могут каждый раз отличаться.Однако в этом примере есть 4 уникальных элементов: camera
, smartphone
, smartwatch
, glucose monitor
Ожидаемый результат:
Поскольку у user_id: 2 есть хотя бы один из каждого элемента, результат будет:
user_id
2
Вот что я пытался сделать до сих пор, однако, если список элементов изменится с 4 уникальныхпредметы на 3 уникальных предмета, я не думаю, что это больше работает.
SELECT *
FROM Information
GROUP BY Information.user_id
having count(DISTINCT item) >= 4