반응형
https://school.programmers.co.kr/learn/courses/30/lessons/151138
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
-- 코드를 입력하세요
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,
IF(DATEDIFF(END_DATE, START_DATE) + 1 >= 30,'장기 대여', '단기 대여') AS RENT_TYPE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE DATE_FORMAT(START_DATE, '%Y-%m') = '2022-09'
ORDER BY HISTORY_ID DESC
먼저 WHERE
문에서 DATE_FORMAT()
함수를 사용하여 대여 시작일(START_DATE
)이 2022년 9월에 속하는 데이터만 추출하였습니다.
SELECT
문에서 START_DATE
, END_DATE
컬럼을 예시와 동일한 포맷으로 변경해주고
IF
, DATEDIFF
함수를 사용하여 '장기 대여', '단기 대여'를 구분하여 출력하였습니다.
- 이때
DATEDIFF(END_DATE, START_DATE) + 1
을 하여 동일한 날짜에 대여 시작과 대여 종료를 했더라도 대여 기간을 0일이 아닌 1일로 처리하였습니다.
마지막으로 ORDER BY
문에서 대여 기록 ID를 기준으로 내림차순(DESC
)정렬하여 결과를 반환하였습니다.
반응형
'코딩테스트' 카테고리의 다른 글
[코딩테스트] 프로그래머스 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 MySQL (0) | 2023.01.24 |
---|---|
[코딩테스트] 프로그래머스 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 MySQL (0) | 2023.01.22 |
[코딩테스트] 프로그래머스 평균 일일 대여 요금 구하기 MySQL (0) | 2023.01.20 |
[코딩테스트] 프로그래머스 프린터 파이썬(Python) (0) | 2023.01.19 |
[코딩테스트] 프로그래머스 괄호 회전하기 파이썬(Python) (1) | 2023.01.18 |