SQL/문제풀이
Customers Who Bought All Products _ Medium.LeetCode *
데이터분석가 이채은
2025. 1. 6. 21:12
SELECT customer_id
FROM Customer
GROUP BY customer_id
HAVING COUNT(DISTINCT(product_key)) = (SELECT COUNT(product_key) FROM Product);
- 문제 분석: 고객별로 구매한 고유 제품 수를 전체 제품 수와 비교해야 함.
- 구현 접근:
- 고객별로 데이터를 그룹화(GROUP BY customer_id).
- 고유 제품 수 계산(COUNT(DISTINCT product_key)).
- 전체 제품 수 비교 → HAVING 절 사용 필요.
- 실수:
- 집계 함수 조건에 HAVING 대신 WHERE를 사용하려 했음.
- 개선 방향
- 집계 함수 조건을 처리해야 할 때는 항상 HAVING을 고려.
- GROUP BY → COUNT → HAVING의 흐름을 연습.