https://school.programmers.co.kr/learn/courses/30/lessons/157340
2022년 10월 16일 기준! 대여중인 차와 대여가능한 데이터를 조회하는 문제입니다.
문제를 이해하는데 조금... 시간이 걸렸습니다ㅎㅎ
SELECT문에서 전체 데이터를 불러옵니다.
데이터를 보면 car_id 최신 데이터와 과거 데이터 모두 나옵니다.
case 문에서 BETWEEN A AND B 을 통해 2022년 10월 16일의 값을 가지는 데이터를 추출하고 max를 이용해서 가장 최근값을 가져옵니다.
GROUP BY 절에서 car_id 기준으로 그룹으로 묶어줍니다.
마지막으로 car_id 내림차순으로 정렬해주면 정답입니다.
SELECT CAR_ID, MAX(CASE WHEN '2022-10-16' BETWEEN START_DATE AND END_DATE THEN '대여중'ELSE '대여 가능' END) AVAILABILTY
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
ORDER BY CAR_ID DESC