본문 바로가기
SQL

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

by Rudy 2023. 2. 15.

💌문제


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절에서 전체 레코드의 횟수를 고르면 된다.

댓글