PS/SQL
[SQL] 자동차 평균 대여 기간 구하기
행복한라이언
2024. 2. 12. 13:21
728x90
반응형
문제링크
1. 핵심
- 대여기간
- timestampdiff(day, start, end) + 1 > 오늘 대여하고 오늘 반납해도 대여일은 1일이다.
- 평균 대여기간
- 집계함수 avg가 필요하다. car_id를 기준으로 group by를 진행해 평균 duration을 계산한다.
- 평균 대여기간이 7일이상이라는 조건이 있다. 반드시 문제 풀기 전에 확인한다.
2. 코드(MySQL)
# 평균대여기간 7일이상
# 대여기간 +1 잊지말자!
# 평균기간 내림차순 id 내림차순
with temp as (
select CAR_ID, timestampdiff(day, START_DATE, END_DATE) + 1 as DURATION
from CAR_RENTAL_COMPANY_RENTAL_HISTORY
)
select CAR_ID, round(avg(DURATION), 1) as AVERAGE_DURATION
from temp
group by CAR_ID
having AVERAGE_DURATION >= 7
order by AVERAGE_DURATION desc, CAR_ID desc;
728x90
반응형