VARIANCE_SAMP または VAR_SAMP
VAR_SAMP 関数は、数値の集合の標本分散 (/n-1) を戻します。
.-ALL------. >>-+-VAR_SAMP------+--(--+----------+--numeric-expression--)--->< '-VARIANCE_SAMP-' '-DISTINCT-'
標本分散を計算するための数式は以下のとおりです。
VAR_SAMP = (SUM(X**2) - ((SUM(X)**2) / (COUNT(X)))) / (COUNT(X) - 1)
- numeric-expression
- 任意の組み込み数値、文字ストリング、 またはグラフィック・ストリングのデータ・タイプの値を戻す式。 引数が文字ストリングまたはグラフィック・ストリングの場合、関数を評価する前に DECFLOAT(34) にキャストされます。
引数が DECFLOAT(n) である場合、関数の結果は DECFLOAT(34) です。それ以外の場合、結果のデータ・タイプは、倍精度の浮動小数点数になります。
この関数は、引数の値から NULL 値を除いた値の集合に対して適用されます。 DISTINCT が指定される場合は、重複する値は除かれます。
結果が、NULL になることもあります。値の集合が空であるか、1 行のみを含む場合、結果は NULL 値になります。それ以外 の場合は、結果は集合の中の値の偏差になります。
値が加算される順序は未定義ですが、中間結果はすべて結果のデータ・タイプの範囲内になければなりません。
注意
特殊値 DECFLOAT を含む結果: 引数のデータ・タイプが 10 進浮動小数点であり、特殊値 sNaN または -sNaN、もしくは +Infinity と -Infinity の両方が集約に含まれる場合、エラーまたは警告が戻されます。それ以外の場合、+NaN または -NaN が検出されれば、結果は +NaN または -NaN になります。+Infinity または -Infinity が検出されれば、結果は +Infinity または -Infinity になります。
代替構文: SQL 2003 規格に準拠して VAR_SAMP を使用する必要があります。
例
- 表 EMPLOYEE を使用して、部門 A00 の従業員の給与の標本分散を、ホスト変
数 VARNCE (倍精度浮動小数点数) にセットします。
上記の結果、VARNCE は約 1 186 437 500 にセットされます。SELECT VAR_SAMP(SALARY) INTO :VARNCE FROM EMPLOYEE WHERE WORKDEPT = 'A00';