코딩테스트
[SQL] 프로그래머스 - 재구매가 일어난 상품과 회원 리스트 구하기
daneng4
2024. 2. 20. 15:03
728x90
🤔 배운 것
COLUMN 들을 그룹화 하기 : GROUP BY
그룹의 조회 조건을 세우기 : HAVING
COUNT, AVG, SUM, MAX, MIN등으로 조회한 데이터의 양, 평균, 합, 최대, 최소를 구할 수 있다.
// USER_ID 와 PRODUCT_ID를 COLUMN으로 하는 테이블을 만들 것이므로
SELECT USER_ID, PRODUCT_ID
// ONLINE_SALE 테이블에서 조회할 것이므로
FROM ONLINE_SALE
// 어떤 USER가 재구매한 내역을 조회할 것이기 때문에
GROUP BY 1,2 -> USER_ID, PRODUCT_ID 와 동일
// 재구매 한 물품이면 해당 USER가 구매한 PRODUCT_ID가 2개 이상일 것이므로
// 그룹화 한 것의 PRODUCT_ID > 1 이라는 HAVING 조건을 세운다.
HAVING COUNT(PRODUCT_ID) > 1
// 회원 ID를 기준으로 오름차순 정렬하고
// 회원 ID가 같다면 상품 ID를 기준으로 내림차순 정렬한다.
ORDER BY USER_ID ASC, PRODUCT_ID DESC
728x90
반응형