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

김인범's avatar
Dec 01, 2024
재구매가 일어난 상품과 회원 리스트 구하기

문제

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

쿼리문

SELECT user_id, product_id from online_sale group by user_id, product_id having count(*)>1 order by user_id, product_id desc
 
하나의 테이블만 사용합니다.
동일한 회원, 동일한 상품 = 테이블에서 회원ID 와 상품 ID를 묶어야 합니다.
SELECT user_id, product_id from online_sale group by user_id, product_id
 
문제에서는 재구매한 데이터를 원하고 있습니다.
적어도 그룹핑한 데이터(구매 데이터)가 하나 이상이어야 한다는 조건이 있습니다.

having

group by 절에 의해 생산된 결과 값 중
원하는 조건에 부합하는 데이터만 보고자
할 때 사용하는 문법
 
having count(*)>1
추출한 데이터를 아래의 두 조건으로 정렬해 달라고 했습니다.
  1. 회원 ID를 기준으로 오름차순 정렬
  1. 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬
order by user_id, product_id desc
 
Share article

taker