1. 문제 풀이 아이디어
- 차량별 평균 대여 기간을 계산하고, 7일 이상인 차량을 조건에 따라 정렬하면 문제를 해결할 수 있다.
2. 나의 정답 코드
SELECT
car_id,
ROUND(AVG(DATEDIFF(end_date, start_date) + 1), 1) average_duration
FROM
car_rental_company_rental_history
GROUP BY
car_id
HAVING
average_duration >= 7
ORDER BY
average_duration DESC,
car_id DESC;
3. 정리
SELECT
절에서car_id
와 평균 대여 기간(average_duration
)을 반환한다.
DATEDIFF(end_date, start_date) + 1
을 사용해 대여 기간을 계산한 뒤,ROUND
함수를 통해 소수점 첫째 자리까지 평균을 계산한다.
GROUP BY
절을 사용해car_id
별로 대여 기록을 그룹화한다.
HAVING
절에서 평균 대여 기간이 7일 이상인 그룹만 필터링한다.
ORDER BY
절을 사용해 평균 대여 기간 기준으로 내림차순 정렬하며, 같은 값일 경우car_id
기준으로 내림차순 정렬한다.
Share article