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

VAR_SAMP

Возвращает выборочную дисперсию — средний квадрат отклонения от среднего.

MySQL 8.1
VAR_SAMP(expr)

Параметры

exprDOUBLE
Числовое выражение

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

Дробное число (DOUBLE); NULL не учитываются; NULL, если значений меньше двух

Примеры

Дисперсия цен по категориям

MySQL 8.1
SELECT category,
	ROUND(VAR_SAMP(price), 2) AS price_variance,
	ROUND(STDDEV_SAMP(price), 2) AS price_spread
FROM products
GROUP BY category;
categoryprice_varianceprice_spread
Food40.326.35
Drinks4.432.1
Snacks0.580.76
Grocery82.83

Выборочная и генеральная дисперсия

MySQL 8.1
SELECT VAR_SAMP(x) AS sample,
	VAR_POP(x) AS population
FROM (
		SELECT 1 AS x
		UNION ALL
		SELECT 2
		UNION ALL
		SELECT 3
		UNION ALL
		SELECT 4
	) AS t;
samplepopulation
1.66666666666666671.25

Подробности

Сумма квадратов отклонений делится на число значений минус 1. Корень из дисперсии — стандартное отклонение: SQRT(VAR_SAMP(x)) равно STDDEV_SAMP(x). В PostgreSQL выборочную дисперсию считает и VARIANCE, а в MySQL VARIANCE — генеральная.

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