반응형
※ 문제

※ 코드
SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(*) >= 2
ORDER BY USER_ID, PRODUCT_ID DESC;
※ 풀이
처음으로 2개 이상의 COLUMN을 이용한 GROUPING 문제가 등장했습니다.
우선 USER_ID로 그룹화를 진행하면 각 USER_ID 별로 모든 구매 기록이 구해질 것입니다.
다음으로 PRODUCT_ID로 그룹화를 진행하면 PRODUCT_ID 별로 제품별 판매 개수, 판매 일자 등이 나오게 됩니다.
이걸 HAVING 절에서 COUNT(*)를 구하면 각 고객이 제품 별로 구매한 개수가 나오게 됩니다. 이 값이 2 이상이라면 재구매가 발생한 것으로 볼 수가 있습니다.
이렇게 GROUP BY ~ HAVING 문법을 통해 문제를 해결해 보았습니다!!!
반응형
'DBMS' 카테고리의 다른 글
| [프로그래머스 SQL] Lv. 2 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (0) | 2025.06.24 |
|---|---|
| [프로그래머스 SQL] Lv. 2 특정 물고기를 잡은 총 수 구하기 (0) | 2025.06.18 |
| [프로그래머스 SQL] Lv. 2 노선별 평균 역 사이 거리 조회하기 (0) | 2025.06.15 |
| [프로그래머스 SQL] Lv. 2 조건에 부합하는 중고거래 상태 조회하기 (0) | 2025.06.15 |
| [프로그래머스 SQL] Lv. 2 자동차 평균 대여 기간 구하기 (2) | 2025.06.14 |