AVG 함수는 입력 표현식 값의 평균(산술 평균)을 반환합니다. AVG 함수는 숫자 값을 사용하고 NULL 값을 무시합니다.
구문
AVG ( [ DISTINCT | ALL ] expression )
인수
- 표현식
-
함수가 실행되는 대상 열 또는 표현식입니다. 표현식은 다음 데이터 유형 중 하나입니다.
SMALLINT
INTEGER
BIGINT
NUMERIC
DECIMAL
REAL
DOUBLE PRECISON
SUPER
- DISTINCT | ALL
-
인수가 DISTINCT일 때는 함수가 평균을 계산하기 전에 지정한 표현식에서 중복 값을 모두 제거합니다. 인수가 ALL일 때는 함수가 표현식의 모든 중복 값을 그대로 유지한 채 평균을 계산합니다. ALL이 기본값입니다.
데이터 타입
AVG 함수에서 지원되는 인수 형식은 SMALLINT, INTEGER, BIGINT, NUMERIC, DECIMAL, REAL, DOUBLE PRECISION, SUPER입니다.
AVG 함수에서 지원되는 반환 형식은 다음과 같습니다.
-
모든 정수형 인수일 때 BIGINT
-
부동 소수점 인수일 때 DOUBLE PRECISION
다른 인수 형식의 표현과 동일한 데이터 형식을 반환합니다.
NUMERIC 또는 DECIMAL 인수가 포함된 AVG 함수 결과의 기본 정밀도는 38입니다. 함수 결과의 비율은 인수 비율과 동일합니다. 예를 들어 DEC(5,2) 열의 AVG는 DEC(38,2) 데이터 형식을 반환합니다.
예시
SALES 테이블에서 트랜잭션 1회당 판매된 평균 수량을 구합니다.
select avg(qtysold)from sales;
avg
-----
2
(1 row)
모든 목록에 나열된 평균 총 가격을 구합니다.
select avg(numtickets*priceperticket) as avg_total_price from listing;
avg_total_price
-----------------
3034.41
(1 row)
매월 내림차순으로 분류된 평균 지불 가격을 구합니다.
select avg(pricepaid) as avg_price, month
from sales, date
where sales.dateid = date.dateid
group by month
order by avg_price desc;
avg_price | month
-----------+-------
659.34 | MAR
655.06 | APR
645.82 | JAN
643.10 | MAY
642.72 | JUN
642.37 | SEP
640.72 | OCT
640.57 | DEC
635.34 | JUL
635.24 | FEB
634.24 | NOV
632.78 | AUG
(12 rows)