[프로그래머스] 자동차 평균 대여 기간 구하기

yenpkr·2025년 2월 28일
0

sql

목록 보기
36/91

문제

제출

SELECT car_id,round(avg(datediff(end_date,start_date)+1),1) AVERAGE_DURATION
from car_rental_company_rental_history
group by 1
having AVERAGE_DURATION >= 7
order by 2 desc, 1 desc

📌 새로 배운 내용

✅ DATEDIFF

두 날짜 간의 차이
DATEDIFF(날짜1, 날짜2);
날짜1 - 날짜2

✅ TIMESTAMPDIFF

TIMESTAMPDIFF(단위, 날짜1, 날짜2);
날짜2 - 날짜1

  • 단위
    SECOND : 초
    MINUTE : 분
    HOUR : 시
    DAY : 일
    WEEK : 주
    MONTH : 월
    QUARTER : 분기
    YEAR : 연

🚨 error

SELECT car_id,round(avg(datediff(end_date,start_date)),1) AVERAGE_DURATION
from car_rental_company_rental_history
group by 1
having avg(datediff(end_date,start_date)) >= 7
order by 2 desc, 1 desc

이렇게 제출했는데 틀린 답으로 떴다.

이유는 만약 2025-01-01에 대여해서 2025-01-01에 반납한 경우 또한 1일 대여한 것으로 쳐야 하는데, 0일 대여한 것으로 되어 모두 대여일 - 1 으로 계산되어서 틀린 답이었다.
따라서 datediff(end_date,start_date)+1 +1을 해주어야 한다.

참조 블로그

0개의 댓글