출처
: 프로그래머스
문제
CAR_RENTAL_COMPANY_CAR
테이블에서 자동차 종류가 ‘SUV’인 자동차들의 평균 일일 대여 요금을 출력하는 SQL문을 작성해주세요. 이때 평균 일일 대여 요금은 소수 첫 번째 자리에서 반올림하고, 컬럼명은 AVERAGE_FEE
로 지정해주세요.
나의 풀이
1
2
3
4
SELECT ROUND(SUM(DAILY_FEE)/COUNT(CAR_TYPE), 0) AS AVERAGE_FEE
FROM CAR_RENTAL_COMPANY_CAR
WHERE CAR_TYPE = 'SUV'
GROUP BY CAR_TYPE;
최종적으로 구해야 하는 것은
종류가 ‘SUV’인 자동차들의 평균 일일 대여 요금이고
이것은 \(\dfrac{\texttt{'SUV' 자동차들 대여 요금 합}}{\texttt{'SUV' 자동차들 개수}}\)로 구할 수 있다.
즉, 합계는SUM()
함수로, 개수는COUNT()
함수로 구할 수 있다.자동차 종류가 ‘SUV’인 것들만을 대상으로 해야하므로
=>GROUP BY CAR_TYPE
WHERE CAR_TYPE = 'SUV'
문제에서 결과의 칼럼명이
AVERAGE_FEE
로 나올 것을 요구하므로
=>AS AVERAGE_FEE