Перейти к основному содержимому
Версия: 2.0.x

covar_samp

Возвращает выборочную ковариацию двух выражений. Эта функция поддерживается начиная с версии 2.5.10. Она также может использоваться как оконная функция.

Синтаксис

COVAR_SAMP(expr1, expr2)

Параметры

expr1 и expr2 должны вычисляться до TINYINT, SMALLINT, INT, BIGINT, LARGEINT, FLOAT, DOUBLE или DECIMAL.

Если expr1 и expr2 являются столбцами таблицы, эта функция вычисляет выборочную ковариацию этих двух столбцов.

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

Возвращает значение DOUBLE. Формула следующая, где n представляет количество строк таблицы:

формула covar_samp

Примечания по использованию

  • Строка данных учитывается только тогда, когда оба столбца в этой строке являются ненулевыми значениями. В противном случае эта строка данных исключается из результата.

  • Возвращается 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 |
+------+--------------------+