VARIANCE 集約関数
VARIANCE 関数は、数値の集合の偏分散 (n で除算) を戻します。
スキーマは 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.