SQL
[프로그래머스/MySQL] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 Level3
Rudy
2023. 2. 15. 12:40
💌문제
https://school.programmers.co.kr/learn/courses/30/lessons/151139
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
💌SQL
SELECT MONTH(START_DATE) MONTH,CAR_ID,COUNT(*) RECORDS
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE>='2022-08-01' and START_DATE<'2022-11-01' and
CAR_ID in
(SELECT CAR_ID
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE>='2022-08-01' and START_DATE<'2022-11-01'
GROUP BY CAR_ID
HAVING COUNT(CAR_ID)>=5)
GROUP BY CAR_ID,MONTH(START_DATE)
ORDER BY MONTH,CAR_ID DESC
WHERE 절 안의 서브쿼리를 사용해서 기간 내에 자동차 총 대여횟수가 5이상인 CAR_ID만을 고를 수 있도록 했다.
그리고 바깥에서 같은 조건으로 기간을 설정하고, GROUP BY를 이용해서 CAR_ID별, 월별로 카테고리화한다.
그 후 SELECT절에서 전체 레코드의 횟수를 고르면 된다.