본문 바로가기
프로그래머스/MySQL

코딩테스트 연습 > 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 - MySQL (JOIN, GROUP BY)

by 아찌방 2024. 2. 24.

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/151139

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이 - 나의 생각

 

먼저 8~10월 총 대여 횟수가 5회 이상인 CAR_ID를 찾아낸 후

 

JOIN한다.

 

그 후에 GROUP BY로 달 별, CAR_ID 별로 묶어서

 

그 숫자를 센다.

 

 

코드

 

SELECT MONTH(START_DATE) MONTH, C.CAR_ID, COUNT(*) RECORDS
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY C
JOIN (
    SELECT CAR_ID
    FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
    WHERE MONTH(START_DATE) IN (8, 9, 10)
    GROUP BY CAR_ID
    HAVING COUNT(HISTORY_ID) >= 5) SUB ON C.CAR_ID = SUB.CAR_ID
WHERE MONTH(START_DATE) IN (8, 9, 10)
GROUP BY MONTH, C.CAR_ID
HAVING COUNT(*) >= 1
ORDER BY MONTH, C.CAR_ID DESC;

 

 

 

 

 

 

 

다음에 또 봐요

 

728x90