반응형

문제
대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차들에 대해서
해당 기간 동안의 월별 자동차 ID 별 총 대여 횟수 리스트를 출력하는 SQL문을 작성
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
요구 사항 확인
자동차 대여시작한 일자 중 월, 자동차 ID, 대여 횟수만 조회
대여 시작일이 '2022-08'부터 '2022-10'인 경우 중 자동차별 대여 기록이 5회 이상인 자동차 조회(CTE:with절 활용)
2022년 8월부터 10월에 대여가 5번 이상 진행된 월별 차량 대여 기록을 조회하기 위해
자동차 대여 기록 정보(CAR_RENTAL_COMPANY_RENTAL_HISTORY) 테이블과
위에서 생성된 테이블(more_5) JOIN 진행(기준 컬럼 : CAR_ID)
월별 기준으로 자동차 대여된 경우의 수(COUNT())를 확인
ORDER BY 오름차순(MONTH), 월이 동일한 경우 내림차순(CAR_ID) 정렬
with more_5 as ( select CAR_ID, count(HISTORY_ID) from CAR_RENTAL_COMPANY_RENTAL_HISTORY where date_format(START_DATE,'%Y-%m') between '2022-08' and '2022-10' group by CAR_ID having count(HISTORY_ID) >= 5 ) select month(ch.START_DATE) as MONTH, ch.CAR_ID, count(HISTORY_ID) as RECORDS from CAR_RENTAL_COMPANY_RENTAL_HISTORY ch join more_5 m5 on ch.CAR_ID = m5.CAR_ID where date_format(START_DATE,'%Y-%m') between '2022-08' and '2022-10' group by MONTH, ch.CAR_ID order by MONTH, ch.CAR_ID desc;

이와 비슷한 SQL 문제를 풀어보고 싶다면
프로그래머스에서 풀어볼 수 있습니다.
https://school.programmers.co.kr/
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
반응형
'코딩 테스트 > 프로그래머스_MySQL' 카테고리의 다른 글
[프로그래머스] MySQL_가장 큰 물고기 10마리 구하기(SELECT) (0) | 2025.04.11 |
---|---|
[프로그래머스] MySQL_주문량이 많은 아이스크림들 조회하기(JOIN) (0) | 2025.03.30 |
[프로그래머스] MySQL_우유와 요거트가 담긴 장바구니(Summer/Winter Coding(2019)) (0) | 2025.03.25 |
[프로그래머스] MySQL_특정 조건을 만족하는 물고기별 수와 최대 길이 구하기(GROUP BY) (0) | 2025.03.23 |
[프로그래머스] MySQL_헤비 유저가 소유한 장소(2021 Dev-Matching: 웹 백엔드 개발자(상반기)) (0) | 2025.03.21 |