less than 1 minute read

📜문제


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

image

📜정답


    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

📜노트


  • ROUND(숫자 변수, 반올림되어 나타날 자릿수) : 반올림 함수
  • DATEDIFF(날짜1, 날짜2) : 날짜1과 날짜2의 차이를 구해준다(+1을 해야함)

GROUP BY를 통하여 ID별 평균 대여 기간을 구한다. 평균 대여 기간은 GROUP BY를 사용하였기 때문에 HAVING절로 7일 이상인 것들만 추출한다.