본문 바로가기
CS/SQL

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

by abcodef 2023. 7. 19.

SQL 문제 풀이는 재밌다.
GROUP BY, HAVING절에 대해 복습할 수 있었다.

문제에서 요구하는 조건

  1. 재구매한 회원의 ID와 재구매한 상품 ID를 출력
  2. 회원 ID를 기준으로 오름차순 정렬, 회원 ID가 같다면 상품 ID로 내림차순 정렬

내가 작성한 답

SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(*)>=2 ORDER BY USER_ID, PRODUCT_ID DESC

분석

GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(*)>=2
  • USER_ID와 PRODUCT_ID를 기준으로 특정 그룹을 만들기 위해 GROUP BY절을 사용함
  • HAVING절을 사용해 원하는 조건으로 검색 진행
  • 단순히 중복 제거는 GROUP BY가 아닌 DISTINCT 사용

댓글