TIL(24.12.16)

채채·2024년 12월 16일

Today I Learned

목록 보기
33/75

SQL 문제풀기
자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

SELECT CAR_ID, 
       case 
        when max('2022-10-16' between start_date and end_date) = 1 then '대여중'
            else '대여 가능'
            end as AVAILABILITY
from CAR_RENTAL_COMPANY_RENTAL_HISTORY
group by 1
order by 1 desc

어렵다고 풀어보라고 받은 문젠데 정말 너무 어려웠음.
30분정도 고민해봤는데, group by에서 원하는 열을 표시하게끔 하는게, 너무 어려웠음.
대여중, 대여 가능을 불리안으로 나누는게 진짜 신기했음.
max를 True와 False로 구분할 수 있게 되는것도 너무 신기하고, sum을 이용해서 1을 도출해내는 기지에 박수침. 👏👏👏
정말 간단하게 해결할 수 있는건데, 험난한 길(서브쿼리와 조인)의 길을 갈 뻔 함.
이런 경험이 쌓여서 나 혼자서도 창의력있는 코딩을 할 수 있게되면 좋겠다

profile
화이팅

0개의 댓글