DB

[MySQL] 프로그래머스 - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기(IF, 날짜 비교)

연듀 2023. 2. 10. 19:56

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

 

프로그래머스

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

programmers.co.kr

 

SELECT CAR_ID, IF(SUM(IF('2022-10-16' BETWEEN START_DATE AND END_DATE, 1, 0)) > 0, '대여중', '대여 가능') AS AVAILABILITY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY 
GROUP BY 1
ORDER BY 1 DESC

 

자동차ID중에 제시된 날짜에 대여중인 자동차가 하나라도 있다면 대여중이라고 표시되어야 한다.

그래서 SUM 함수를 통해 대여중인 자동차가 1개 이상인 자동차라면 대여중으로 표시한다.