STDDEV_SAMP¶
NULL 以外の値のサンプル標準偏差(サンプル分散の平方根)を返します。グループ内のすべてのレコードが NULLの場合、 NULLを返します。
- エイリアス:
構文¶
集計関数
STDDEV_SAMP( [ DISTINCT ] <expr1> )
ウィンドウ関数
STDDEV_SAMP( [ DISTINCT ] <expr1> ) OVER (
[ PARTITION BY <expr2> ]
[ ORDER BY <expr3> [ ASC | DESC ] [ <window_frame> ] ]
)
window_frame
構文の詳細については、 ウィンドウフレームの構文と使用法 をご参照ください。
引数¶
expr1
数値(整数、浮動小数点、または固定小数点)に評価される式です。
expr2
これは、パーティションを分割する式です。
expr3
これは、各パーティション内で並べ替える式です。
戻り値¶
戻り値のデータ型はDOUBLEです。
使用上の注意¶
単一レコード入力の場合、 STDDEV_SAMP と STDDEV は両方とも NULLを返します。これは、単一のレコードに対して STDDEV_SAMP が NULL を返し、 STDDEV が0を返すOracleの動作とは異なります。
VARCHAR 式が渡されると、この関数は入力を暗黙的に浮動小数点値にキャストします。キャストを実行できない場合、エラーが返されます。
ウィンドウ関数として呼び出された場合:
キーワード DISTINCT は構文的に許可されていますが、無視されます。
OVER 句内で ORDER BY サブ句を使用する場合、ウィンドウフレームを使用する必要があります。ウィンドウフレームが指定されていない場合、 ORDER BY は累積ウィンドウフレームを意味します。
RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
構文や例を含むウィンドウフレームの詳細については、 ウィンドウフレームの構文と使用法 をご参照ください。
暗黙的なウィンドウフレームの詳細については、 ウィンドウフレームの使用上の注意 をご参照ください。
例¶
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_samp(v), stddev_samp(v2) from aggr group by k;
---+----------------+-----------------+
k | stddev_samp(v) | stddev_samp(v2) |
---+----------------+-----------------+
1 | [NULL] | [NULL] |
2 | 8.539125634 | 12.013880859 |
---+----------------+-----------------+