sql

mysql - 프로그래머스 157340 / 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

kdozlo 2024. 10. 23. 13:36

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

lv3

구현 방법

case when구문을 사용해서 대여중, 대여 가능 구분했습니다.

BETWEEN을 사용해서 2022-10-16이 포함되어 있는지 확인했습니다.

MAX 이용해서 해당 car id가 한번이라도 대여중인 경우 대여중만 나오도록 했습니다.(사전적으로 '중'이 '가' 보다 큼)

코드

SELECT
    CAR_ID,
    MAX (CASE
        WHEN '2022-10-16' BETWEEN START_DATE AND END_DATE THEN '대여중'
        ELSE '대여 가능'
    END) AS AVAILABILITY
FROM
    CAR_RENTAL_COMPANY_RENTAL_HISTORY
group by
    car_id
ORDER BY
    CAR_ID DESC
;