[프로그래머스] 자동차 평균 대여 기간 구하기

Ashley·2023년 5월 31일
0

문제

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

CAR_RENTAL_COMPANY_RENTAL_HISTORY

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

어려웠던 점

  • 문제에서 소수점 두번째 자리에서 반올림하라고 해서 ROUND, 2 로 표기하는 줄 알았더니 아래 문제를 자세히 읽어보니까

첫번째 자리까지만 표현이 되는 것이였다...
그래서 답은 ROUND, 1 이였다.
문제를 자세히 읽어보장..!

  • 두 날짜간의 차이를 계산할 때 쓰이는
    DATEDIFF 는 뒤에 +1 을 해줘야 된다!

  • GROUP BY & HAVING 은 짝꿍이다

profile
처음은 힘들지만, 하면 할 수 있어오!

0개의 댓글