ror_coding

[Programmers] 자동차 평균 대여 기간 구하기 - 157342 본문

Algorithm/SQL

[Programmers] 자동차 평균 대여 기간 구하기 - 157342

ro_rdil_31 2024. 9. 29. 14:17
728x90

HAVING 절을 평가하기 전에 SELECT 절을 일부 평가하기 때문에 SELECT의 Alias가 적용된다 !!!

(MySQL의 예외 현상)

 

Question

 

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

 

 

Point

 

  1. HAVING 절에서 SELECT 절에 있는 alias (AVERAGE_DURATION) 를 사용.

 

 

Code

 

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

 

now me

On my Github

 

728x90