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 . . .