본문 바로가기
  • Coding & Book
프로그램및 언어/SQL

[SQL 코테] 평균 일일 대여 요금 구하기

by 루이3 2025. 3. 27.

문제 사이트

https://school.programmers.co.kr/learn/courses/30/lessons/151136

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

문제

CAR_RENTAL_COMPANY_CAR 테이블에서 자동차 종류가 'SUV'인 자동차들의 평균 일일 대여 요금을 출력하는 SQL문을 작성해주세요. 이때 평균 일일 대여 요금은 소수 첫 번째 자리에서 반올림하고, 컬럼명은 AVERAGE_FEE로 지정해주세요.

CAR_RENTAL_COMPANY_CAR 테이블은 다음과 같으며, CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자동차 옵션 리스트를 나타냅니다.

 

 

풀이

1. 자동차 종류가 'SUV'인 데이터 필터링
WHERE 절을 이용하여 자동차 종류가 'SUV'인 자동차만 필터링합니다.

WHERE CAR_TYPE = 'SUV'

2. 평균 일일 대여 요금 계산 및 반올림하기
평균을 계산할 때는 AVG() 함수를 사용하며, ROUND() 함수로 소수 첫 번째 자리에서 반올림합니다.

ROUND(AVG(DAILY_FEE), 0) AS AVERAGE_FEE
  • AVG(컬럼명): 해당 컬럼의 평균을 계산합니다.
  • ROUND(값, 자릿수): 주어진 숫자를 지정된 자리에서 반올림합니다.

 

최종 SQL 코드

SELECT 
    ROUND(AVG(DAILY_FEE), 0) AS AVERAGE_FEE
FROM CAR_RENTAL_COMPANY_CAR
WHERE CAR_TYPE = 'SUV';

 

 

출력 결과 예시

 

 

 

 

다른 사람 풀이

다른 개발자 분은 다음과 같은 방식으로 문제를 풀이했으며

반올림 함수인 ROUND()는 두 번째 인자를 생략하면

기본값으로 소수 첫째 자리에서 반올림하여 정수로 처리한다는 것을 알게 되었습니다.

앞으로 평균값 등을 반올림할 때는 별도의 자릿수 지정 없이 다음과 같이 사용하겠습니다.

SELECT
    ROUND(AVG(DAILY_FEE)) AS AVERAGE_FEE
FROM CAR_RENTAL_COMPANY_CAR
WHERE CAR_TYPE = "SUV";