[SQL 문제풀기] 재구매가 일어난 상품과 회원 리스트 구하기

화낼거양's avatar
Nov 20, 2024
[SQL 문제풀기] 재구매가 일어난 상품과 회원 리스트 구하기
Contents
문제정답
 
 

문제

 
notion image
 

정답

 
SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(*) > 1 ORDER BY USER_ID ASC, PRODUCT_ID DESC;
 
 
  • GROUP BY USER_ID, PRODUCT_ID:
    • 회원 ID (USER_ID)와 상품 ID (PRODUCT_ID)로 그룹화합니다. 즉, 동일한 회원이 동일한 상품을 구매한 기록들을 그룹화하여 집계합니다.
  • HAVING COUNT(*) > 1*:
    • GROUP BY 절에 의해 그룹화된 각 그룹에서, 각 그룹의 항목 수가 1을 초과하는 경우만 필터링합니다. 즉, 특정 회원이 동일한 상품을 두 번 이상 구매한 경우만 선택합니다.
 
Share article

moohyun