VARIANCE_SAMP 集約関数

VARIANCE_SAMP 関数は、数値の集合の標本分散 ([n-1] で除算) を戻します。

構文図を読む構文図をスキップするVARIANCE_SAMP(ALLDISTINCTexpression)

スキーマは SYSIBM です。

expression
組み込み数値データ・タイプの値を戻す式。

引数が DECFLOAT(n) の場合、結果は DECFLOAT(34) になります。それ以外の場合、結果は倍精度浮動小数点値になります。結果は NULL 値の場合もあります。

この関数は、引数値から NULL 値を取り除いて得られた値の集合に対して適用されます。DISTINCT を指定すると、重複する値は除去されます。 数値が等しい複数の 10 進浮動小数点の値について DISTINCT 節が解釈される場合に、値の中の有効数字桁数は考慮されません。 例えば、10 進浮動小数点数 123.00 が、10 進浮動小数点数 123 と区別されることはありません。 照会から戻される数値の表記は、検出された表記のいずれかになります (例えば 123.00 や 123)。

この関数を空集合または 1 行のみの集合に対して適用すると、結果は NULL 値になります。 そうでない場合、結果は集合内の値の標本分散になります。

標本分散を求めるために使用される計算は、以下の式と論理的に等価です。
VARIANCE_SAMP = ( SUM(expression**2) - ((SUM(expression)**2) / (COUNT(expression))) ) / 
                  (COUNT(expression) - 1)

値が加算される順序は定義されていませんが、 すべての中間結果は結果のデータ・タイプの範囲内になければなりません。

VARIANCE_SAMP の代わりに VAR_SAMP を指定できます。

ホスト変数 VARNCE に、EMPLOYEE 表の 'A00' 部門に属する従業員の給与の標本分散を設定します。 ホスト変数 VARNCE のデータ・タイプは倍精度浮動小数点数です。
   SELECT VARIANCE_SAMP(SALARY)
     INTO :VARNCE
     FROM EMPLOYEE
     WHERE WORKDEPT = 'A00'
サンプル表を使用して、このステートメントを実行すると、VARNCE には約 +2.19614375000000E+009 が設定されます。
以下の結果セットが参照用に表示されます。
   SELECT SALARY FROM EMPLOYEE WHERE WORKDEPT = 'A00'
SALARY     
-----------
  152750.00
   66500.00
   49250.00
   46500.00
   39250.00

  5 record(s) selected.