Skip to main content

STDDEV、STDDEV_SAMP、STDDEV_POP (SQL)

データ・セットの統計標準偏差を返す集約関数。

構文

STDDEV([ ALL | DISTINCT [BY(col-list)] ]
  expression 
  [ %FOREACH(col-list) ] [ %AFTERHAVING ])

STDDEV_SAMP([ ALL | DISTINCT [BY(col-list)] ]
  expression 
  [ %FOREACH(col-list) ] [ %AFTERHAVING ])

STDDEV_POP([ALL | DISTINCT [BY(col-list)]]
  expression 
  [%FOREACH(col-list)] [%AFTERHAVING])

説明

これら 3 つの標準偏差集約関数は、NULL 値を破棄した後に、expression の値分布の統計標準偏差を返します。つまり、データ・セットの平均値からの標準偏差が正数で表されます。返される値が大きければ、値のデータ・セット内の分散が大きいということになります。

STDDEVSTDDEV_SAMP (サンプル)、および STDDEV_POP (母集団) の各関数は、対応する分散集約関数から派生しています。

STDDEV VARIANCE
STDDEV_SAMP VAR_SAMP
STDDEV_POP VAR_POP

標準偏差は、対応する分散値の平方根です。詳細は、それぞれの分散集約関数を参照してください。

これらの標準偏差関数は、テーブルまたはビューを参照する SELECT クエリまたはサブクエリで使用できます。これらの関数は、一般のフィールド値と共に SELECT リストや HAVING 節で表示できます。

これらの標準偏差関数は、WHERE 節では使用できません。SELECT がサブクエリの場合を除いて、JOINON 節ではそれらを使用できません。

これらの標準偏差関数は、expression がデータ型 DOUBLE でない限り (この場合、この関数はデータ型 DOUBLE を返します)、精度が 36 で小数桁が 17 のデータ型 NUMERIC の値を返します。

通常、これらの関数は、数値を含むフィールドまたは式に適用されます。これらの関数では、空文字列 (") などの数値でない値はゼロ (0) として扱われます。

これらの標準偏差関数は、データ・フィールド内の NULL 値を無視します。クエリから行が返されない場合や、すべての行のデータ・フィールド値が NULL の場合、これらの関数は NULL を返します。

標準偏差関数は、すべての集約関数と同様に、オプションの DISTINCT 節を取ることができます。STDDEV(DISTINCT col1) は、これらの個別 (一意) の col1 フィールド値の標準偏差を返します。STDDEV(DISTINCT BY(col2) col1) は、col2 値が個別 (一意) であるレコードの col1 フィールド値の標準偏差を返します。ただし、個別の col2 値には、個別値として NULL が 1 つ含まれる場合があります。

引数

ALL

標準偏差関数が expression のすべての値の標準偏差を返すように指定する引数 (オプション)。キーワードが指定されていない場合は、これが既定になります。

DISTINCT

標準偏差関数が個別 (一意) の expression 値の標準偏差を返すように指定する DISTINCT 節 (オプション)。DISTINCT で BY(col-list) 従属節を指定できます。col-list には 1 つのフィールド、またはコンマ区切りのフィールドのリストを指定できます。

expression

任意の有効な式。通常は、標準偏差の分析対象となるデータ値を含む列の名前を指定します。

%FOREACH(col-list)

1 つの列名、またはコンマで区切った複数の列名のリストです (オプション)。%FOREACH の詳細は、"SELECT" を参照してください。

%AFTERHAVING

HAVING 節にある条件を適用する引数 (オプション)。

現在のトランザクション中の変更

すべての集約関数と同様に、標準偏差関数も必ず、現在のトランザクションの分離レベルに関係なく、コミットされていない変更も含めてデータの現在の状態を返します。詳細は、"SET TRANSACTION" および "START TRANSACTION" を参照してください。

以下の例では、STDDEV を使用して、Sample.Employee 内の従業員の年齢における標準偏差と、1 人以上の従業員で表される個別の年齢における標準偏差を返します。

SELECT STDDEV(Age) AS AgeSD,STDDEV(DISTINCT Age) AS PerAgeSD
     FROM Sample.Employee

以下の例では、STDDEV_POP を使用して、Sample.Employee 内の従業員の年齢における母標準偏差と、1 人以上の従業員で表される個別の年齢における標準偏差を返します。

SELECT STDDEV_POP(Age) AS AgePopSD,STDDEV_POP(DISTINCT Age) AS PerAgePopSD
     FROM Sample.Employee

関連項目

FeedbackOpens in a new tab