[SQL 문제 풀기] 자동차 평균 대여 기간 구하기(157342)

lhs's avatar
Jan 26, 2025
[SQL 문제 풀기] 자동차 평균 대여 기간 구하기(157342)
 

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

LHS's Study Space