[SQL] 프로그래머스 : 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기

조예빈·2024년 7월 9일
0

Coding Test

목록 보기
52/146
post-custom-banner

https://school.programmers.co.kr/learn/courses/30/lessons/151139

서브쿼리

기간 동안 최소 5번 이상 대여된 차들만 필터링

메인 쿼리

서브 쿼리에서 식별된 차들을 월별로 그룹화하고 각 차의 렌탈 기록 수 계산
같은 기간 동안의 데이터만 처리되도록 하기 위해 다시 필터링

SELECT MONTH(START_DATE) AS MONTH, CAR_ID, COUNT(CAR_ID) AS RECORDS
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE CAR_ID IN (
    SELECT CAR_ID
    FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
    WHERE START_DATE >= '2022-08-01' AND START_DATE <= '2022-10-31'
    GROUP BY CAR_ID
    HAVING COUNT(CAR_ID) >= 5
)
AND START_DATE >= '2022-08-01' AND START_DATE <= '2022-10-31'
GROUP BY MONTH(START_DATE), CAR_ID
ORDER BY MONTH ASC, CAR_ID DESC;

profile
컴퓨터가 이해하는 코드는 바보도 작성할 수 있다. 사람이 이해하도록 작성하는 프로그래머가 진정한 실력자다. -마틴 파울러
post-custom-banner

0개의 댓글