メインコンテンツまでスキップ

corr

CORR

説明

2つの式の間のピアソンの相関係数を返します。この関数はv2.5.10からサポートされています。また、ウィンドウ関数としても使用することができます。

構文

CORR(expr1, expr2)

パラメータ

expr1およびexpr2はTINYINT、SMALLINT、INT、BIGINT、LARGEINT、FLOAT、DOUBLE、またはDECIMALに評価される必要があります。

expr1およびexpr2がテーブルの列の場合、この関数はこれらの2つの列の相関係数を計算します。

戻り値

DOUBLE値を返します。以下の式が使用されます。ここでnはテーブルの行数を表します:

corr formula

使用上の注意

  • 2つの列が非NULL値である場合にのみ、データ行がカウントされます。それ以外の場合、このデータ行は結果から除外されます。
  • nが1の場合、0が返されます。
  • どれかの入力が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 |
+------+--------------------+