カテゴリ:

集計関数 (一般)、 ウィンドウ関数 (一般、ウィンドウフレーム)

STDDEV

NULL 以外の値のサンプル標準偏差(サンプル分散の平方根)を返します。グループ内のすべてのレコードが NULLの場合、 NULLを返します。

エイリアス:

STDDEV_SAMP

構文

集計関数

STDDEV( [ DISTINCT ] <expression_1> )
Copy

ウィンドウ関数

STDDEV( [ DISTINCT ] <expression_1> ) OVER (
                                    [ PARTITION BY <expression_2> ]
                                    [ ORDER BY <expression_3> [ ASC | DESC ] [ <window_frame> ] ]
                                    )
Copy

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

引数

expression_1

数値に評価される式です。これは、標準偏差を計算する式です。

expression_2

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

expression_3

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

戻り値

戻り値のデータ型はDOUBLEです。

使用上の注意

  • 単一レコード入力の場合、 STDDEV_SAMP と STDDEV は両方とも NULLを返します。これは、単一のレコードに対して STDDEV_SAMP が NULL を返し、 STDDEV が0を返すOracleの動作とは異なります。

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

  • この関数がウィンドウ関数(つまり、 OVER 句を使用)として呼び出される場合は、

    • OVER 句に ORDER BY 句が含まれていると次のようになります。

      • ウィンドウフレームが必要です。ウィンドウフレームが明示的に指定されていない場合、 ORDER BY は累積ウィンドウフレームを意味します。

        RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

        構文や例を含むウィンドウフレームの情報については、 ウィンドウフレームの構文と使用法 をご参照ください。

        暗黙的なウィンドウフレームの情報については、 ウィンドウフレームの使用上の注意 もご参照ください。

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

これは、整数の小さなサンプルの標準偏差を示しています。

CREATE TABLE devious (i INTEGER);
INSERT INTO devious (i) VALUES
    (6),
   (10),
   (14)
   ;

SELECT STDDEV(i) FROM devious;
Copy

出力:

+----------+
| STDDEV() |
|----------|
|        4 |
+----------+
Copy