문제
ONLINE_SALE 테이블에서 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, 재구매한 회원 ID와 재구매한 상품 ID를 출력하는 SQL문을 작성해주세요. 결과는 회원 ID를 기준으로 오름차순 정렬해주시고 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬해주세요.
풀이
- 회원별로 어떤 항목을 구매했는지, 그 회원이 구매한 항목 중 2번 이상 구매한 항목은 무엇인지 조회해야하므로
GROUP BY 를 사용해 그룹화 한 후, HAVING 으로 재구매(2회 이상 구매) 체크
- 정렬
SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(*) >= 2
ORDER BY USER_ID, PRODUCT_ID DESC;
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
728x90
'Programming > SQL' 카테고리의 다른 글
[programmers] 카테고리 별 도서 판매량 집계하기 (0) | 2023.08.12 |
---|---|
[programmers] 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2023.08.06 |
[programmers] 가격대 별 상품 개수 구하기 (0) | 2023.08.05 |
[programmers] 평균 일일 대여 요금 구하기 (0) | 2023.07.30 |
[programmers] 강원도에 위치한 생산공장 목록 출력하기 (0) | 2023.07.23 |