@true_user
Web-developer (php)

SQL. Выборка одинаковых значений по одной колонке, но разной по другой. Как реализовать?

Добрый день.
Есть таблица вида:
id | user_id | product_id
1 | 1 | 15
2 | 2 | 16
3 | 1 | 16
4 | 2 | 10
5 | 3 | 16
6 | 1 | 15

Нужно выбрать товары product_id, который есть у разных пользователей.
То есть, товар 16 купил пользователь 1,2,3, его выьираем, а товар 15, хоть он и повторяется купил один и тотже пользователь с id 1.

Пробовал писать что-то такое:
SELECT product_id FROM basket GROUP BY product_id HAVING count(*)>1;
Но находятся просто одинковые записи. Не могу сделать так, чтобы искались одинаковые product_id, но при этом с разными user_id.
Любая помощь приветсвуется.
  • Вопрос задан
  • 18722 просмотра
Решения вопроса 1
@d-stream
Готовые решения - не подаю, но...
Если MySQL умеет distinct в count, то
SELECT product_id 
FROM basket  
GROUP BY product_id 
HAVING count(distinct user_id)>1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@nApoBo3
Можно использовать exists и подзапрос, можно взять distinct, а дальше group by и having.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы