covar_samp
Возвращает выборочную ковариацию двух выражений. Эта функция поддерживается начиная с версии 2.5.10. Она также может использоваться как оконная функция.
Синтаксис
COVAR_SAMP(expr1, expr2)
Параметры
expr1 и expr2 должны вычисляться до TINYINT, SMALLINT, INT, BIGINT, LARGEINT, FLOAT, DOUBLE или DECIMAL.
Если expr1 и expr2 являются столбцами таблицы, эта функция вычисляет выборочную ковариацию этих двух столбцов.
Возвращаемое значение
Возвращает значение DOUBLE. Формула следующая, где n представляет количество строк таблицы:

Примечания по использованию
-
Строка данных учитывается только тогда, когда оба столбца в этой строке являются ненулевыми значениями. В противном случае эта строка да нных исключается из результата.
-
Возвращается 0, если
nравно 1. -
Возвращается NULL, если любой вход — NULL.
Примеры
Предположим, таблица agg имеет следующие данные:
mysql> select * from agg;
+------+-------+-------+
| no | k | v |
+------+-------+-------+
| 1 | 10.00 | NULL |
| 2 | 10.00 | 11.00 |
| 2 | 20.00 | 22.00 |
| 2 | 25.00 | NULL |
| 2 | 30.00 | 35.00 |
+------+-------+-------+
Вычислить выборочную ковариацию столбцов k и v:
mysql> select no,COVAR_SAMP(k,v) from agg group by no;
+------+--------------------+
| no | covar_samp(k, v) |
+------+--------------------+
| 1 | NULL |
| 2 | 119.99999999999999 |
+------+--------------------+