프로그래머스 SQL 고득점 Kit - 재구매가 일어난 상품과 회원 리스트 구하기

Jinyoung Cheon·2024년 12월 20일
0

코딩테스트

목록 보기
1/25

프로그래머스 SQL 고득점 Kit
https://school.programmers.co.kr/learn/challenges?tab=sql_practice_kit

SELECT

problem

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

task

  1. ONLINE_SALE 테이블에서
FROM ONLINE_SALE
  1. 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(*) > 1
  1. 재구매한 회원 ID와 재구매한 상품 ID를 출력
SELECT USER_ID, PRODUCT_ID
  1. 결과는 회원 ID를 기준으로 오름차순 정렬
ORDER BY USER_ID ASC,
  1. 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬
PRODUCT_ID DESC;

code

SELECT USER_ID, PRODUCT_ID

FROM ONLINE_SALE

GROUP BY USER_ID, PRODUCT_ID

HAVING COUNT(*) > 1

ORDER BY USER_ID ASC,
		 PRODUCT_ID DESC;

note

재구매한 데이터를 구하기 위해 GROUP BY 후 HAVING 절에 집계함수 COUNT 사용

GROUP BY USER_ID, PRODUCT_ID

HAVING COUNT(*) > 1
profile
데이터를 향해, 한 걸음씩 천천히.

0개의 댓글