링크 : https://school.programmers.co.kr/learn/courses/30/lessons/151138
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 문제
- 소요시간: 15분 46초

- 설계하기(접근방법)
1. 요구 사항 정리
1) 2022년 9월이 시작일
2) 대여 기간 30일 이내 : 단기 기간, 30일 이상 : 장기 기간
2. 출력
컬럼
1) RENT_TYPE : 대여 기간 30일 이내 : 단기 기간, 30일 이상 : 장기 기간
추가 처리
1) HISTORY_ID 오름차순
- 코드(출력)
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) >= 29 THEN '장기 대여'
ELSE '단기 대여'
END AS RENT_TYPE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE DATE_FORMAT(START_DATE, '%Y-%m') = '2022-09'
ORDER BY HISTORY_ID DESC
- 얻어갈 부분
1.DATEDIFF 함수를 통해 두 날짜간의 차이를 정확하게 계산할 수 있다
2. CASE WHEN ELSE 구문으로 SELECT에서 조건 처리를 할 수 있다
'SQL' 카테고리의 다른 글
| [SQL/STRING, DATE] 카테고리 별 상품 개수 구하기 - 프로그래머스 (0) | 2024.02.13 |
|---|---|
| [SQL/STRING, DATE] 특정 옵션이 포함된 자동차 리스트 구하기 - 프로그래머스 (0) | 2024.02.13 |
| [SQL/GROUP BY] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 - 프로그래머스 (0) | 2024.02.12 |
| [SQL/GROUP BY] 성분으로 구분한 아이스크림 총 주문량 - 프로그래머스 (0) | 2024.02.12 |
| [SQL/GROUP BY] 진료과별 총 예약 횟수 출력하기 - 프로그래머스 (0) | 2024.02.12 |