[프로그래머스] MySQL / 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기
2024. 1. 10. 11:53ㆍCoding Test & Algorithms/프로그래머스-SQL
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/157340
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
코드
-- 코드를 입력하세요
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;
1. 대여중, 대여 가능인 경우에 대해 CASE WHEN THEN 구조로 우선 케이스 분류를 해준다.
2. 그리고 그 위에 MAX() 함수를 넣어서 대여중인 경우, 대여중과 대여 가능 중 더 큰 값을 출력하도록 조건문의 역할을 하고 있다. 두 값 중 하나를 출력하는 조건문의 역할로 사용되었다고 보면 이해가 쉬울 것 같다.
'Coding Test & Algorithms > 프로그래머스-SQL' 카테고리의 다른 글
[프로그래머스] MySQL / 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (0) | 2024.01.10 |
---|---|
[프로그래머스] MySQL / 진료과별 총 예약 횟수 출력하기 (0) | 2024.01.10 |
[프로그래머스] MySQL / 카테고리 별 도서 판매량 집계하기 (0) | 2024.01.10 |
[프로그래머스] MySQL / 저자 별 카테고리 별 매출액 집계하기 (0) | 2024.01.10 |
[프로그래머스] MySQL / 조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2024.01.10 |