VARIANCE 集約関数

VARIANCE 関数は、数値の集合の偏分散 (n で除算) を戻します。

Read syntax diagramSkip visual syntax diagramVARIANCE(ALLDISTINCTexpression)

スキーマは SYSIBM です。

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

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

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

この関数が空のセットに適用されると、結果は NULL 値になります。 それ以外の場合、結果はそのセットの値の差異になります。

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

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

VARIANCE の代わりに VAR または VAR_POP を指定できます。

データ・タイプが倍精度浮動小数点であるホスト変数 VARNCE に、EMPLOYEE 表の部門 'A00' に含まれる従業員の給与の分散を設定します。
   SELECT VARIANCE(SALARY)
     INTO :VARNCE
     FROM EMPLOYEE
     WHERE WORKDEPT = 'A00'
サンプル表を使用した場合、結果として VARNCE はおよそ 98763888.88 に設定されます。
以下の結果セットが参照用に表示されます。
   SELECT SALARY FROM EMPLOYEE WHERE WORKDEPT = 'A00'
SALARY     
-----------
  152750.00
   66500.00
   49250.00
   46500.00
   39250.00

  5 record(s) selected.