본문 바로가기
문제 풀이/프로그래머스

[MYSQL 46] 자동차 평균 대여 기간 구하기

by hyeminigo 2024. 10. 27.

자동차 평균 대여 기간 구하기 (LEVEL2)

 

평균 대여 기간이 7일 이상인 자동차

자동차 ID와 평균 대여 기간(컬럼명: AVERAGE_DURATION) 리스트를 출력(평균 대여 기간은 소수점 두번째 자리에서 반올림)

정렬 평균 대여 기간 내림차순, 자동차 ID 내림차순

 


정답 코드

SELECT CAR_ID, ROUND(AVG(DATEDIFF(END_DATE, START_DATE) + 1), 1) AS AVERAGE_DURATION
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
HAVING AVERAGE_DURATION >= 7
ORDER BY AVERAGE_DURATION DESC, CAR_ID DESC

MEMO

  • 날짜 차이는 별도의 명령어를 사용해야 함 DATEDIFF, TIMEDIFF
 

[SQL] mysql 날짜 관련 함수 정리

DATEDIFF() : 두 기간 사이의 일수 계산TIMEDIFF() : 두 기간 사이의 시간 계산PERIOD_DIFF() : 두 기간 사이의 개월 수 계산TIMESTAMPDIFF() : 두 기간 사이의 시간 계산두 기간 사이의 일수 계산 expr1 - expr2 (

velog.io

  • DATEDIFF(2022-09-05, 2022-09-05) 는 0으로 계산되기 때문에 +1 을 해줘야 함.