[SQL] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기

NoHae·2025년 2월 5일

SQL

목록 보기
68/86

문제 출처

코딩테스트 연습 >GROUP BY > 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기
https://school.programmers.co.kr/learn/courses/30/lessons/151139

문제 설명


접근 방법

월, 자동차 ID별 총 대여 횟수를 구하는 것이므로 MONTH와 CAR_ID로 GROUP BY 한다.

WHERE 절에서는 MONTH가 8~10월 사이 그리고
CAR_ID가 MONTH가 8~10월 사이 CAR_ID의 개수가 5개 이상인 것을 조건으로 가져온다.

SELECT MONTH(START_DATE) AS MONTH,CAR_ID,COUNT(CAR_ID) AS RECORDS
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE MONTH(START_DATE) IN(8,9,10) AND CAR_ID IN (SELECT CAR_ID
                                                 FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
                                                 WHERE MONTH(START_DATE) IN (8,9,10)
                                                 GROUP BY CAR_ID
                                                 HAVING COUNT(CAR_ID) >= 5)
GROUP BY MONTH,CAR_ID
ORDER BY MONTH ASC, CAR_ID DESC

알게된 점

문제에서 "월 별 자동차 ID 별" 총 대여 횟수를 구하는 것은 즉, 해당 요구 대로 GROUP BY를 하라는 것을 알았다.

~별 -> "~" 대로 GROUP BY

문제푼 흔적

업로드중..

profile
노력 해보려고 하는 사람(00년생 소프트웨어융합학과, 24년 12월 부터 백엔드 및 코테 공부 시작)

0개의 댓글