Post

[Programmers] 151139번 - 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 [MySQL]

[Programmers] 151139번 - 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 [MySQL]

문제 링크


1. 문제 풀이


WHERE 절을 필터링에 서브쿼리를 활용했다. START_DATEBETWEEN 연산자로 필터링하고, CAR_ID는 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 CAR_ID만 필터링했다.


2. 쿼리


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT
    MONTH(START_DATE) AS MONTH,
    CAR_ID,
    COUNT(*) AS RECORDS
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE
    START_DATE BETWEEN '2022-08-01' AND '2022-10-31' AND
    CAR_ID IN (
        SELECT CAR_ID
        FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
        WHERE START_DATE BETWEEN '2022-08-01' AND '2022-10-31'
        GROUP BY CAR_ID
        HAVING COUNT(*) >= 5
    )
GROUP BY MONTH, CAR_ID
ORDER BY MONTH, CAR_ID DESC;

This post is licensed under CC BY 4.0 by the author.