.-ALL------. >>-AVG--(----+----------+--expression--)----------------------->< '-DISTINCT-'
AVG 関数は、一連の数値の平均値を戻します。
引き数の値は数値でなければならず、その合計は、 結果のデータ・タイプの範囲内になければなりません。 結果はヌル値の場合もあります。
結果のデータ・タイプは、引き数値のデータ・タイプと同じです。 ただし、以下の場合を除きます。
引き数値のデータ・タイプが精度 p で位取りが s の 10 進数の場合、 結果の精度は 31、 位取りは 31-p+s となります。
この関数は、引き数の値からヌル値を除いて求めた値の集合に対して適用されます。 DISTINCT を指定すると、重複する値は除去されます。
この関数が空集合に適用されると、結果はヌル値になります。 それ以外の場合、結果は集合の平均値になります。
結果のデータ・タイプが整数であれば、平均値の小数部分は失われます。
例:
SELECT AVG(PRSTAFF) INTO :AVERAGE FROM PROJECT WHERE DEPTNO = 'D11'
サンプル表を使用してこの例を実行すると、結果として AVERAGE には、 4.25 (つまり、17/4) が設定されます。
SELECT AVG(DISTINCT PRSTAFF) INTO :ANY_CALC FROM PROJECT WHERE DEPTNO = 'D11'
サンプル表を使用してこの例を実行すると、 結果として ANY_CALC は 4.66 (つまり 14/3) に設定されます。