문제:
대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 대여기록을 출력
- 결과는 대여 기록 ID를 기준으로 내림차순 정렬
해결방법:
1. 대여기간 차이는 DATEDIFF() 함수를 사용
2. IF 문으로 장기 대여와 단기 대여 구분
3. DATE_FORMAT() 으로 날짜 형식 설정
4. 대여 시작일은 WHERE 절에서 BETWEEN A AND B 로 설정
예시 코드:
SELECT HISTORY_ID, CAR_ID
, DATE_FORMAT(START_DATE, "%Y-%m-%d") START_DATE
, DATE_FORMAT(END_DATE, "%Y-%m-%d") END_DATE
, IF(DATEDIFF(END_DATE, START_DATE)+1 >= 30, "장기 대여", "단기 대여") RENT_TYPE
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
WHERE START_DATE BETWEEN "2022-09-01" AND "2022-09-30"
ORDER BY HISTORY_ID DESC
;
'[SQL] 연습' 카테고리의 다른 글
[MySQL] 프로그래머스 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (0) | 2024.12.28 |
---|---|
[MySQL] 프로그래머스 자동차 평균 대여 기간 구하기 (0) | 2024.12.24 |
[MySQL] 프로그래머스 특정 물고기를 잡은 수 구하기 (0) | 2024.12.21 |
[MySQL] 프로그래머스 서울에 위치한 식당 목록 출력하기 (1) | 2024.12.20 |
[MySQL] 프로그래머스 조건에 맞는 사원 정보 조회하기 (0) | 2024.12.08 |