カテゴリ:

集計関数 (一般)、 ウィンドウ関数の構文と使用法 (一般)

VAR_POP

グループ内のNULL 以外のレコードの母分散を返します。グループ内のすべてのレコードが NULLの場合、 NULLが返されます。

エイリアス:

VARIANCE_POP

構文

集計関数

VAR_POP( [ DISTINCT ] <expr1> ) 
Copy

ウィンドウ関数

VAR_POP( [ DISTINCT ] <expr1> ) OVER ( [ PARTITION BY <expr2> ] [ ORDER BY <expr3> [ ASC | DESC ] [ <window_frame> ] ] ) 
Copy

window_frame の構文の詳細については、 ウィンドウ関数の構文と使用法 をご参照ください。

引数

expr1

expr1 は、数値データ型のいずれかに評価されるはずです。

expr2

これは、パーティションを分割するオプションの式です。

expr3

これは、各パーティション内で並べ替えるオプションの式です。

戻り値

返される値のデータ型は、 NUMBER(<精度>, <スケール>) です。スケールは、処理される値に依存します。

使用上の注意

  • VARCHAR 式が渡されると、この関数は入力を暗黙的に浮動小数点値にキャストします。キャストを実行できない場合、エラーが返されます。

  • この関数が、 ORDER BY 句を含む OVER 句を持つウィンドウ関数として呼び出される場合:

    • ウィンドウフレームが必要です。ウィンドウフレームが明示的に指定されていない場合、次のような暗黙のウィンドウフレームが使用されます。

      RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

      構文、使用上の注意、例を含むウィンドウフレームの詳細については、 ウィンドウ関数の構文と使用法 をご参照ください。

    • ウィンドウ関数内でキーワード DISTINCT を使用することは禁止されており、コンパイル時間エラーが発生します。

次の例は、 VAR_POP 関数の使用方法を示しています。

テーブルを作成して入力します。

create table aggr(k int, v decimal(10,2), v2 decimal(10, 2)); insert into aggr values (1, 10, null), (2, 10, 11), (2, 20, 22), (2, 25, null), (2, 30, 35); 
Copy

テーブルをクエリします。

SELECT k, var_pop(v), var_pop(v2) FROM aggr GROUP BY k ORDER BY k; +---+---------------+---------------+ | K | VAR_POP(V) | VAR_POP(V2) | |---+---------------+---------------| | 1 | 0.0000000000 | NULL | | 2 | 54.6875000000 | 96.2222222222 | +---+---------------+---------------+ 
Copy