[SQL] 프로그래머스 LV.3 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기

2025. 8. 10. 10:24·프로그래밍 언어/02. SQL

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

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

🔍 문제

CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차들에 대해서 해당 기간 동안의 월별 자동차 ID 별 총 대여 횟수(컬럼명: RECORDS) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 월을 기준으로 오름차순 정렬하고, 월이 같다면 자동차 ID를 기준으로 내림차순 정렬해주세요. 특정 월의 총 대여 횟수가 0인 경우에는 결과에서 제외해주세요.


🎯정답

SELECT MONTH(START_DATE) AS MONTH, CAR_ID, COUNT(*) AS 'RECORDS'
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE
    -- 메인 쿼리 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(DATE_FORMAT(START_DATE, '%Y-%m-%d')), CAR_ID
ORDER BY MONTH ASC, CAR_ID DESC;

❓풀이

  • 서브쿼리에서 8월부터 10월 사이에 렌트 시작이 5회 이상인 데이터만 필터링
  • 메인 WHERE 절에서 8월 ~ 10월 사이의 전체 데이터를 먼저 필터링하고 서브쿼리의 필터링을 통해 5회 이상인 데이터를 추가로 필터링한다.

'프로그래밍 언어 > 02. SQL' 카테고리의 다른 글

[SQL] 프로그래머스 LV.3 물고기 종류 별 대어 찾기  (2) 2025.08.14
[SQL] 프로그래머스 LV.3 대장균들의 자식의 수 구하기  (4) 2025.08.13
[SQL] 프로그래머스 LV.3 헤비 유저가 소유한 장소  (0) 2025.08.10
[SQL] 프로그래머스 LV3. 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기  (2) 2025.08.05
[SQL] 프로그래머스 LV.3 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기  (1) 2025.07.27
'프로그래밍 언어/02. SQL' 카테고리의 다른 글
  • [SQL] 프로그래머스 LV.3 물고기 종류 별 대어 찾기
  • [SQL] 프로그래머스 LV.3 대장균들의 자식의 수 구하기
  • [SQL] 프로그래머스 LV.3 헤비 유저가 소유한 장소
  • [SQL] 프로그래머스 LV3. 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기
dalleeoppaa
dalleeoppaa
DA, GIS 공부 기록
  • dalleeoppaa
    달래오빠
    dalleeoppaa
  • 전체
    오늘
    어제
    • 분류 전체보기 (113) N
      • GIS (22)
        • 01. GIS TIL (13)
        • 02. OpenSource Geo Data (6)
        • 03.사이드 프로젝트 (1)
      • 프로젝트 (6)
        • 01. 상권분석 지도 (3)
        • 02. olist 고객 RFM 분석 (3)
      • PointCloud (1)
      • 프로그래밍 언어 (58) N
        • 01. Python (1)
        • 02. SQL (49)
        • 03. C++ (3) N
        • 04. TIL (5) N
      • 데이터분석 (23)
        • 01. Google Cloud Platform (1)
        • 02. GA4 & GTM (1)
        • 03. LookerStudio (4)
        • 04. Apach Spark (7)
        • 05. 데이터 시각화 (10)
      • 인턴 (2)
        • 01. NPL (2)
        • 02. TIL (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    PostgreSQL
    GIS
    프로그래머스코테
    태블로연습
    sql코테
    코딩테스트
    데이터분석
    프로그래머스lv3
    MySQL
    태블로부트캠프
    데이터분석가
    c++독학
    프로그래머스SQL
    데이터분석가코테
    프로그래머스
    데이터분석취준
    태블로신병훈련소
    solvesql
    SQL
    postgresql연습
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
dalleeoppaa
[SQL] 프로그래머스 LV.3 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기
상단으로

티스토리툴바