STDDEV_POP¶
NULL 以外の値の母標準偏差(分散の平方根)を返します。グループ内のすべてのレコードが NULLの場合、 NULLを返します。
構文¶
集計関数
STDDEV_POP( [ DISTINCT ] expression_1)
ウィンドウ関数
STDDEV_POP( [ DISTINCT ] <expression_1> ) OVER (
[ PARTITION BY <expression_2> ]
[ ORDER BY <expression_3> [ ASC | DESC ] [ <window_frame> ] ]
)
window_frame
構文の詳細については、 ウィンドウフレームの構文と使用法 をご参照ください。
引数¶
expression_1
数値に評価される式です。これは、標準偏差を計算する式です。
expression_2
これは、パーティションを分割するオプションの式です。
expression_3
これは、各パーティション内で並べ替えるオプションの式です。
戻り値¶
戻り値のデータ型はDOUBLEです。
使用上の注意¶
VARCHAR 式が渡されると、この関数は入力を暗黙的に浮動小数点値にキャストします。キャストを実行できない場合、エラーが返されます。
この関数がウィンドウ関数(つまり、 OVER 句を使用)として呼び出される場合は、
OVER 句に ORDER BY 句が含まれていると次のようになります。
ウィンドウフレームが必要です。ウィンドウフレームが明示的に指定されていない場合、 ORDER BY は累積ウィンドウフレームを意味します。
RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
構文や例を含むウィンドウフレームの情報については、 ウィンドウフレームの構文と使用法 をご参照ください。
暗黙的なウィンドウフレームの情報については、 ウィンドウフレームの使用上の注意 もご参照ください。
ウィンドウ関数内でキーワード DISTINCT を使用することは禁止されており、コンパイル時間エラーが発生します。
例¶
create or replace table aggr(k int, v decimal(10,2), v2 decimal(10, 2));
insert into aggr values(1, 10, null);
insert into aggr values(2, 10, 11), (2, 20, 22), (2, 25,null), (2, 30, 35);
select k, stddev_pop(v), stddev_pop(v2) from aggr group by k;
---+---------------+----------------+
k | stddev_pop(v) | stddev_pop(v2) |
---+---------------+----------------+
1 | 0 | [NULL] |
2 | 7.395099729 | 9.809292645 |
---+---------------+----------------+