데이터 분석 기술 블로그

Customers Who Bought All Products _ Medium.LeetCode * 본문

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);
  1. 문제 분석: 고객별로 구매한 고유 제품 수를 전체 제품 수와 비교해야 함.
  2. 구현 접근:
    • 고객별로 데이터를 그룹화(GROUP BY customer_id).
    • 고유 제품 수 계산(COUNT(DISTINCT product_key)).
    • 전체 제품 수 비교 → HAVING 절 사용 필요.
  3. 실수:
    • 집계 함수 조건에 HAVING 대신 WHERE를 사용하려 했음.
  4. 개선 방향
    • 집계 함수 조건을 처리해야 할 때는 항상 HAVING을 고려.
    • GROUP BY → COUNT → HAVING의 흐름을 연습.