Перейти к основному содержимому

corr

Описание

Возвращает коэффициент корреляции Пирсона между двумя выражениями. Эта функция поддерживается начиная с версии 1.5.0. Также может использоваться как оконная функция.

Синтаксис

CORR(expr1, expr2)

Параметры

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

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

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

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

corr formula

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

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

  • Возвращается 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,CORR(k,v) from agg group by no;
+------+--------------------+
| no | corr(k, v) |
+------+--------------------+
| 1 | NULL |
| 2 | 0.9988445981121532 |
+------+--------------------+