프로그래머스 SQL kit

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

정호나 2024. 10. 12. 14:44

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/131536

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

  • 테이블 ONLINE_SALE은 의류 쇼핑몰의 온라인 상품 판매 정보를 담은 테이블이다.
  • ONLINE_SALE_ID(온라인 상품 판매 ID), USER_ID(회원 ID), PRODUCT_ID(상품 ID), SALES_AMOUNT(판매량), SALES_DATE(판매일)의 칼럼으로 구성되어 있다.
  • 동일한 날짜, 회원 ID, 상품 ID조합에 대해서는 하나의 판매 데이터만 존재한다.
  • 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력해야한다.
  • 결과는 회원 ID를 기준으로 오름차순 정렬하여야하고, 회원 ID가 같으면 상품 ID를 기준으로 내림차순 정렬해야 한다.

 

-- 코드를 입력하세요
SELECT USER_ID,PRODUCT_ID 
FROM ONLINE_SALE
GROUP BY USER_ID,PRODUCT_ID 
HAVING COUNT(*) >= 2
ORDER BY USER_ID ASC,PRODUCT_ID DESC;

 

GROUP BY로 묶고 having by에서 2개 이상 값 있으면 재구매 데이터

 

 

ORDER BY

 

: ASC가 디폴트여서 생략가능

-> ORDER BY USER_ID,PRODUCT_ID DESC; (0)