[프로그래머스] SQL 연습 SELET - 재구매가 일어난 상품과 회원 리스트

데이터 분석/[SQL] 기초

[프로그래머스] SQL 연습 SELET - 재구매가 일어난 상품과 회원 리스트

INCHELIN 2025. 3. 10. 17:23
728x90

 

1. 셀프 조인을 이용

SELECT DISTINCT A.USER_ID, A.PRODUCT_ID
FROM ONLINE_SALE as A
JOIN ONLINE_SALE as B
WHERE 1=1
    AND A.USER_ID = B.USER_ID
    AND A.PRODUCT_ID = B.PRODUCT_ID
    AND A.SALES_DATE <> B.SALES_DATE
ORDER BY A.USER_ID ASC, A.PRODUCT_ID DESC

 

2. GROUP BY 사용

SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(DISTINCT SALES_DATE) >= 2
ORDER BY USER_ID ASC, PRODUCT_ID DESC
728x90