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

Eunding·2024년 2월 12일
0

SQL 고득점 Kit

목록 보기
11/62

재구매가 일어난 상품과 회원 리스트 구하기

재구매가 일어난 상품과 회원 리스트 구하기

문제

ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성해주세요. 결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬해주세요.

예시

풀이

SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING count(PRODUCT_ID) >= 2
ORDER BY USER_ID, PRODUCT_ID DESC;
  1. USER_ID와 PRODUCT_ID를 GROUP BY절로 묶고
    HAVING절로 같은 데이터가 2개 이상이면 조회(재구매이므로)
GROUP BY USER_ID, PRODUCT_ID
HAVING count(PRODUCT_ID) >= 2
  1. 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬
ORDER BY USER_ID, PRODUCT_ID DESC;

배운 점

  • 지금까지 GROUP BY 절 쓸 때 컬럼 하나만 묶었었는데 여러 개 되는지 처음 알았다!!
profile
안녕하세요~

0개의 댓글

관련 채용 정보