説明
この関数は、一連の数値集合の全分散(NULL を無視)を返します。この関数は集計関数または分析関数として使用できます。
説明
- 分析関数として使用する場合、
OVER句を使用してウィンドウを定義し、計算を行う必要があります。これは一連の行の集合に対して計算を行い、複数の値を返します。 - 集計関数として使用する場合、この関数は一連の行の集合に対して集計計算を行い、結果として1つの値しか返せません。この場合、
OVER句を追加する必要はありません。
構文
VAR_POP(expr) [ OVER (analytic_clause) ]
パラメータの説明
| パラメータ | 説明 |
|---|---|
| expr | 計算に参加する数値式を指定します。数値データ型、または暗黙的に数値データ型に変換できる値が含まれます。 |
| OVER | OVER 句を使用してウィンドウを定義し、計算を行います。詳細については分析関数の説明を参照してください。 |
説明
この関数が空集合に適用される場合、NULL を返します。結果の計算式は次のとおりです:SUM((expr - (SUM(expr) / COUNT(expr)))²)/ COUNT(expr)。
返り値の型
引数 expr と同じデータ型、または NULL を返します。
例
既にテーブル tbl1 が作成されています。
obclient> SELECT * FROM tbl1;
+------+------+------+------+
| COL1 | COL2 | COL3 | COL4 |
+------+------+------+------+
| 1 | A1 | 8 | 12 |
| 1 | A2 | 10 | 15 |
| 1 | A3 | 11 | 16 |
| 2 | B1 | 9 | 14 |
| 2 | B2 | 10 | 15 |
| 2 | B3 | 8 | 13 |
| 2 | B4 | 11 | 16 |
| 3 | C1 | 8 | 18 |
| 3 | C2 | 9 | 16 |
| 3 | C3 | 10 | 15 |
| 3 | C4 | 11 | 12 |
| 3 | C5 | 12 | 10 |
| 4 | d1 | 8 | NULL |
| 4 | d1 | 9 | 10 |
| 4 | d1 | 10 | NULL |
+------+------+------+------+
15 rows in set
集計関数の例
列 col4 の全分散を計算します。
obclient> SELECT VAR_POP(col4) FROM tbl1;
+------------------------------------------+
| VAR_POP(COL4) |
+------------------------------------------+
| 5.53846153846153846153846153846153846154 |
+------------------------------------------+
1 row in set
分析関数の例
列 col2 で昇順にソートし、列 col4 の累積全分散を計算します。
obclient> SELECT col1,col2,col4,VAR_POP(col4) OVER(ORDER BY col2) "VAR_POP" FROM tbl1;
+------+------+------+------------------------------------------+
| COL1 | COL2 | COL4 | VAR_POP |
+------+------+------+------------------------------------------+
| 1 | A1 | 12 | 0 |
| 1 | A2 | 15 | 2.25 |
| 1 | A3 | 16 | 2.888888888888888888888888888888888889 |
| 2 | B1 | 14 | 2.1875 |
| 2 | B2 | 15 | 1.84 |
| 2 | B3 | 13 | 1.8055555555555555555555555555555555555 |
| 2 | B4 | 16 | 1.95918367346938775510204081632653061229 |
| 3 | C1 | 18 | 3.109375 |
| 3 | C2 | 16 | 2.88888888888888888888888888888888888889 |
| 3 | C3 | 15 | 2.6 |
| 3 | C4 | 12 | 3.10743801652892561983471074380165289255 |
| 3 | C5 | 10 | 4.55555555555555555555555555555555555558 |
| 4 | d1 | NULL | 5.53846153846153846153846153846153846154 |
| 4 | d1 | 10 | 5.53846153846153846153846153846153846154 |
| 4 | d1 | NULL | 5.53846153846153846153846153846153846154 |
+------+------+------+------------------------------------------+
15 rows in set