사용 언어 - MYSQL
프로그래머스 LV 3) 자동차 대여 기록중에서 대여중 / 대여 가능 여부 구분하기
정답
CASE WHEN ~ IN (조건) (정답 맞춘 여부 O)
1) 새 변수 AVAILABILITY 만들기
(CASE WHEN CAR_ID IN(~~) = CAR_ID가 START_DATE와 END_DATE 사이에 있다는 조건
THEN 만족시, 대여중
ELSE 만족하지 못하면, 대여 가능
END)
2) GROUP BY CAR_ID로 그루핑
3) CAR_ID로 내림차순 정렬
SELECT CAR_ID,
(CASE WHEN CAR_ID IN (
SELECT CAR_ID
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE '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
레퍼런스
- 정답 깃허브
'Stay Hungry Stay Foolish > SQL' 카테고리의 다른 글
[MYSQL] 저자 별 카테고리 별 매출액 집계하기 (0) | 2023.06.20 |
---|---|
[MYSQL] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2023.06.20 |
[MYSQL] 카테고리 별 도서 판매량 집계하기 (0) | 2023.06.19 |
[MYSQL] 조건에 맞는 사용자와 총 거래금액 조회하기 (1) | 2023.06.18 |
[MYSQL] 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2023.06.18 |
댓글