Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 백준 10866 자바
- 백준 1764 자바
- 코딩테스트
- 백준
- 10807 자바
- 백준 2346 자바
- 그리디
- BFS
- 자바 28278
- 2748 자바
- 10813 자바
- 자바
- 자바 1003
- 1764 자바
- 2798 자바
- 10810 자바
- 티움투어
- 자바 2346
- IAM 사용자
- IAM Identity Center
- 2346 풍선 터뜨리기
- 자바 10866
- 데보션영 3기
- 자바 2164
- 1010 자바
- dfs
- 백준 28278 자바
- 28278 스택 2
- 2164 자바
- 파이썬
Archives
- Today
- Total
자두의 데브로그
[MySQL] 프로그래머스 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 본문
https://school.programmers.co.kr/learn/courses/30/lessons/157340
case ~end 구문에도 max를 사용할 수 있는 줄 몰랐다.. 처음에는 max(end_date) 했을 때의 값과 2022-10-16를 비교하는 방식으로 대여 중인지 아닌지를 구분했는데 그렇게 하니까 대여를 하지 않았던 기간에 대해서는 아예 고려하고 있지 않아 완벽히 틀린 풀이였다.
2022-10-16이 start_date랑 end_date 사이에 있으면 대여중으로, 아니면 대여 가능으로 저장하되, max 값을 적용하여 여러 날짜 중 가장 최근의 값에 대해서 가져와서 비교했다.
-- 코드를 입력하세요
SELECT CAR_ID,
max(case
when '2022-10-16' between DATE_FORMAT(start_date, '%Y-%m-%d') and DATE_FORMAT(end_date, '%Y-%m-%d') then '대여중'
else '대여 가능'
end) as AVAILABILITY
from CAR_RENTAL_COMPANY_RENTAL_HISTORY
group by CAR_ID
order by CAR_ID desc;
'코딩테스트 > SQL' 카테고리의 다른 글
[MySQL] 프로그래머스 입양 시각 구하기(2) (1) | 2024.10.11 |
---|---|
[MySQL] 프로그래머스 년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2024.10.11 |
[MySQL] 프로그래머스 연도별 대장균 크기의 편차 구하기 (0) | 2024.10.10 |
[MySQL] 프로그래머스 잡은 물고기 중 가장 큰 물고기의 길이 구하기 (1) | 2024.10.10 |
[MySQL] 프로그래머스 멸종위기의 대장균 찾기 (2) | 2024.10.10 |