AVG
構文
関連項目:
構文、セマンティクスおよび制限事項の詳細は、分析ファンクションを参照してください。
目的
AVGは、exprの平均値を戻します。
これは、引数として、任意の数値データ型、または暗黙的に数値データ型または間隔データ型に変換可能な数値以外のデータ型を取ります。
また、引数の数値データ型と同じデータ型を返します。入力が間隔の場合、入力と同じ単位の間隔を返します。
関連項目:
暗黙的な変換の詳細は、表2-9を参照してください
DISTINCTを指定する場合は、analytic_clauseのquery_partition_clauseのみを指定できます。order_by_clauseおよびwindowing_clauseは指定できません。
ベクトル集計操作
ベクトルに対してAVGを使用すると、null以外の入力について、平均を返すことができます。
exprは、VECTORに評価される必要があり、BINARYベクトルであってはなりません。返されたベクトルには、入力と同じ数のディメンションがあり、その形式は必ずFLOAT64です。ディメンション数の柔軟度に関しては、各集計グループ内で、すべての入力に同じ数のディメンションがある必要があります。
NULLベクトルは無視されます。それらは、平均ベクトルを計算するときに考慮されません。集計グループ内のすべての入力がNULLである場合、そのグループについては、結果はNULLになります。算術演算の適用時に特定のディメンションがオーバーフローすると、エラーが発生します。
ルール
-
DISTINCT構文は使用できません。 -
GROUP BYとGROUP BY ROLLUPのみがサポートされています。 -
型
VECTORの入力引数では、分析ファンクションはサポートされていません。
例については、『AI Vector Searchユーザーズ・ガイド』の算術演算子を参照してください。
集計の例
次の例では、hr.employees表にあるすべての従業員の平均給与を計算します。
SELECT AVG(salary) "Average"
FROM employees;
Average
--------------
6461.83178分析の例
次の例では、employees表の各従業員について、ある期間内に雇用された従業員の平均給与を所属別に計算します。
SELECT manager_id, last_name, hire_date, salary,
AVG(salary) OVER (PARTITION BY manager_id ORDER BY hire_date
ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS c_mavg
FROM employees
ORDER BY manager_id, hire_date, salary;
MANAGER_ID LAST_NAME HIRE_DATE SALARY C_MAVG
---------- ------------------------- --------- ---------- ----------
100 De Haan 13-JAN-01 17000 14000
100 Raphaely 07-DEC-02 11000 11966.6667
100 Kaufling 01-MAY-03 7900 10633.3333
100 Hartstein 17-FEB-04 13000 9633.33333
100 Weiss 18-JUL-04 8000 11666.6667
100 Russell 01-OCT-04 14000 11833.3333
100 Partners 05-JAN-05 13500 13166.6667
100 Errazuriz 10-MAR-05 12000 11233.3333
. . .