covar_samp
COVAR_SAMP
説明
2つの式のサンプル共分散を返します。この関数はv2.5.10からサポートされています。ウィンドウ関数としても使用することができます。
構文
COVAR_SAMP(expr1, expr2)
パラメータ
expr1
と expr2
は TINYINT、SMALLINT、INT、BIGINT、LARGEINT、FLOAT、DOUBLE、または DECIMAL に評価される必要があります。
expr1
と expr2
がテーブルの列である場合、この関数はこれら2つの列のサンプル共分散を計算します。
戻り値
DOUBLE 値を返します。以下の式が適用され、ここで n
はテーブルの行数を表します:
使用上の注意
- 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,COVAR_SAMP(k,v) from agg group by no;
+------+--------------------+
| no | covar_samp(k, v) |
+------+--------------------+
| 1 | NULL |
| 2 | 119.99999999999999 |
+------+--------------------+