CS/SQL
[프로그래머스] 재구매가 일어난 상품과 회원 리스트 구하기
abcodef
2023. 7. 19. 16:55
SQL 문제 풀이는 재밌다.
GROUP BY, HAVING절에 대해 복습할 수 있었다.
문제에서 요구하는 조건
- 재구매한 회원의 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, PRODUCT_ID DESC
분석
GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(*)>=2
- USER_ID와 PRODUCT_ID를 기준으로 특정 그룹을 만들기 위해 GROUP BY절을 사용함
- HAVING절을 사용해 원하는 조건으로 검색 진행
- 단순히 중복 제거는 GROUP BY가 아닌 DISTINCT 사용