EunGyeongKim

[SQL] 자동차 대여 기록에서 장기/단기 대여 구분하기 본문

코딩테스트/programmers

[SQL] 자동차 대여 기록에서 장기/단기 대여 구분하기

EunGyeongKim 2023. 1. 16. 22:08

더 많은 코드 (https://github.com/EunGyeongKim/TIL)

문제 링크

1. 문제 설명

다음은 어느 자동차 대여 회사의 자동차 대여 기록 정보를 담은 CAR_RENTAL_COMPANY_RENTAL_HISTORY테이블입니다. CAR_RENTAL_COMPANY_RENTAL_HISTORY  테이블은 아래와 같은 구조로 되어있으며, HISTORY_IDCAR_IDSTART_DATEEND_DATE는 각각 자동차 대여 기록 ID, 자동차 ID, 대여 시작일, 대여 종료일을 나타냅니다.

Column name Type Nullable
HISTORY_ID INTEGER FALSE
CAR_ID INTEGER FALSE
START_DATE DATE FALSE
END_DATE DATE FALSE

2. 제한사항

CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요.


4. 코드

-- 코드를 입력하세요
SELECT history_id, car_id, date_format(start_date,"%Y-%m-%d") as start_date , date_format(end_date, "%Y-%m-%d") as end_date,
(case when (datediff(end_date, start_date)+1) >= 30 then "장기 대여" else "단기 대여" end) as rent_type

from CAR_RENTAL_COMPANY_RENTAL_HISTORY
where 1=1
and month(start_date) = "9"
and year(start_date) ="2022"
order by history_id DESC

 

'코딩테스트 > programmers' 카테고리의 다른 글

[연습문제]컨트롤 제트  (0) 2022.10.14
[탐욕법]큰 수 만들기  (0) 2022.10.13
[완전탐색]모음사전  (0) 2022.10.13
[완전탐색]소수 찾기  (0) 2022.10.12
[완전탐색]피로도  (0) 2022.10.12
Comments