티스토리 뷰

SQL

MySQL 코딩테스트 - 자동차 평균 대여 기간 구하기 DateDiff

코드ABC

MySQL 코딩테스트 - 자동차 평균 대여 기간 구하기

CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 평균 대여 기간이 7일 이상인 자동차들의 자동차 ID와 평균 대여 기간(컬럼명: AVERAGE_DURATION) 리스트를 출력하는 SQL문을 작성해주세요. 평균 대여 기간은 소수점 두번째 자리에서 반올림하고, 결과는 평균 대여 기간을 기준으로 내림차순 정렬해주시고, 평균 대여 기간이 같으면 자동차 ID를 기준으로 내림차순 정렬해주세요.

 

 

문제풀이 방법

  1. 두날짜 사이의 기간을 구하는 함수는 DateDiff . 여기에 +1을 해줘야, 총 대여기간이 나온다.
  2. Car_id별로 그룹으로 묶은후, 평균 값이 7이상인 것을 having으로 필터해준다.
  3. 마지막으로 내림차순정렬 desc을 순서대로 작성해주면 끝.
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
최근에 올라온 글
최근에 달린 댓글
링크