카테고리 없음

SQL 평균값 구하기 (sum, round)

SQL-Basic 2024. 9. 9. 16:58

문제내용 : 42. 평균 일일 대여 요금 구하기

 

 

평균 일일 대여 요금을 구하고, 그 요금에서 소수 첫번째 자리에서 반올림하는 sql 문제

 

 

sum : 합산

더보기

SUM 함수는 SQL에서 사용되는 집계 함수 중 하나로, 특정 열의 값을 모두 더하는 역할을 합니다. 주로 숫자형 데이터를 합산할 때 사용

 

문법예시

SELECT SUM(PRICE) AS TOTAL_PRICE
FROM PRODUCT;

 

프로덕트 테이블에 가격을 합산하는 sql

 

round : 반올림

더보기

ROUND 함수는 SQL에서 숫자를 반올림할 때 사용됩니다. 지정된 자릿수까지 반올림을 수행하여 결과를 반환합니다.

 

기본문법

ROUND(number, decimal_places)

 

 

  • number: 반올림할 숫자입니다.
  • decimal_places: 반올림할 소수점 이하 자릿수입니다. (이 값은 선택 사항이며, 생략하면 0으로 간주되어 소수점 이하를 반올림합니다.)

소수점 이하 반올림

SELECT ROUND(123.4567, 2);

결과: 123.46

 

소수점 이하 0자리 (정수로 반올림)

SELECT ROUND(123.4567, 0);

결과: 123

 

음수 정수 부분 반올림

SELECT ROUND(12345.6789, -2);

결과: 12300

 

 

정답

내 정답
SELECT round(sum(daily_fee) / count(car_type),0) as AVERAGE_FEE
from CAR_RENTAL_COMPANY_CAR
group by car_type
having car_type in ('SUV')

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

 

car_type = suv 하나만 찾아서 평균값을 구하는 내용이라 group by 보다는 where절을 사용하여 하는것이 효율적이고,

sum/count도 평균값을 구하는 내용이지만, avg라는 메서드가 있기 때문에 avg를 사용하는것이 효율적임.