[SQL 문제 풀기] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기(151139)

lhs's avatar
Feb 04, 2025
[SQL 문제 풀기] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기(151139)
 

1. 문제 풀이 아이디어

  • 서브 쿼리를 활용하여 2022년 8월~10월 동안 5회 이상 대여된 차량만 선택하여, 월별(MONTH(start_date)) 및 차량별(car_id) 대여 횟수를 구한다.

2. 나의 정답 코드

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;

3. 정리

  • WHERE start_date BETWEEN '2022-08-01' AND '2022-10-31'는 8월~10월 사이에 대여된 데이터만 선택한다.
  • AND car_id IN (...)는 해당 기간 동안 총 5회 이상 대여된 차량만 필터링한다.
  • GROUP BY month, car_id는 월별(MONTH(start_date)) 및 차량별(car_id)로 그룹화하여 대여 횟수를 집계한다.
  • ORDER BY month, car_id DESC는 월별 오름차순, 같은 달 내에서는 car_id 내림차순 정렬한다.
Share article

LHS's Study Space