Справочник по функциям

AVG

Возвращает среднее арифметическое значений выражения в группе строк.

PostgreSQL 17.5
AVG([DISTINCT] expression)

Параметры

DISTINCTключевое словонеобязательный
Учитывать каждое значение только один раз
expressionnumeric
Числовое выражение, по которому считается среднее

Возвращаемое значение

Число: numeric для целых и numeric, double precision для чисел с плавающей точкой; NULL не учитываются, для пустого набора — NULL

Примеры

Средняя цена в платежах

PostgreSQL 17.5
SELECT AVG(unit_price) AS avg_price
FROM Payments;
avg_price
3231.1785714285714286

Средняя цена по членам семьи

PostgreSQL 17.5
SELECT family_member,
	AVG(unit_price) AS avg_price
FROM Payments
GROUP BY family_member
ORDER BY family_member;
family_memberavg_price
11542.5000000000000000
210575.4285714285714286
3505.8000000000000000
4250.0000000000000000
5179.3333333333333333

Подробности

Строки с NULL не входят ни в сумму, ни в количество: чтобы считать их нулями, используйте AVG(COALESCE(x, 0)). Для целых чисел результат — numeric с большим числом знаков после запятой, поэтому его обычно округляют через ROUND.

Смотрите также

Где изучить