#41. STRING, DATE : 자동차 평균 대여 기간 구하기 | 프로그래머스 | SQL 고득점 Kit

문제

 

입력 코드

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;

→ 대여기간에 마지막 날짜까지 포함해야 하므로 +1 을 해야 함

 

 

DATEDIFF(구분자, start_date, end_date) 함수

  • 구분자는 어떤 차이를 구할지 정하는 역할 (일, 월, 분기, 연 등)
  • int형으로 반환하기 때문에 int 범위를 넘는 차이는 구하지 못함

 

코드 설명

#SELECT #ROUND #AVG #DATEDIFF #GROUP BY #HAVING #ORDER BY

 

문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/157342