YataNox
[My_SQL] Lv.2 자동차 평균 대여 기간 구하기 본문
문제
https://school.programmers.co.kr/learn/courses/30/lessons/157342
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
1. 두 날짜의 차이 값을 구한 뒤 (datediff)
2. 평균을 내고(avg)
3. 2번째 자리에서 반올림을 해주어야한다.(round)
car_id로 그룹화하고 그룹화 한 값 중 평균 대여기간이 7일 이상이 것만 Having 절로 걸러낸다.
코드
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 2 DESC, 1 DESC;