[프로그래머스 | SQL] 재구매가 일어난 상품과 회원 리스트 구하기

박기영·2024년 8월 2일
0

프로그래머스

목록 보기
159/159
post-custom-banner

solution

SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(PRODUCT_ID) > 1
ORDER BY USER_ID ASC, PRODUCT_ID DESC;

explanation

ONLINE_SALE 테이블에서
USER_IDPRODUCT_ID로 그룹화 하여 동일한 값이 나오는 것들끼리 하나로 묶는다.
즉, 같은 유저가 어떤 상품을 구매했는지 파악할 수 있게 한다.
이 때, PRODUCT_ID가 2개 이상인 것들의 USER_IDPRODUCT_ID를 추출한다.
PRODUCT_ID가 2개 이상이면 어떤 상품을 재구매 했다는 것을 알 수 있다.
USER_ID를 기준으로 오름차순 정렬하고, 만약 그 값이 같으면 PRODUCT_ID로 내림차순 정렬한다.

profile
나를 믿는 사람들을, 실망시키지 않도록

0개의 댓글