리트코드 [Customers Who Bought All Products]

윤태영·2024년 8월 31일
0

문제

https://leetcode.com/problems/customers-who-bought-all-products/description/

Product테이블에서 모든 product를 구입한 customer_id를 구하는 쿼리를 작성하자.

Table : Customer

Table : Product

Example1

문제풀이

모든 물건을 구매한 Customer을 구하려면 두가지 조건이 필요

1) Customer별로 구매한 물건의 unique한 개수 (customer가 동일한 물건을 여러번 구매할 수도 있으니) -> GROUP BY 해결

2) product 테이블의 전체 product_id 개수 (애초에 unique id일테니 따로 distinct 필요 없음) -> COUNT조건을 줘야 하니 HAVING절 서브쿼리

쿼리

SELECT customer_id
FROM Customer A
GROUP BY customer_id
HAVING COUNT(distinct product_key) = (SELECT COUNT(*) FROM Product)

profile
ice blue

0개의 댓글