カテゴリ:

データメトリック関数

AVG (システムデータメトリック関数)

テーブル内にある指定した列の平均値を返します。

AVG システムデータメトリック関数は、単一列の平均値を計算するように最適化されており、 AVG 関数を呼び出す場合と比較してより高いパフォーマンスを提供します。

構文

SNOWFLAKE.CORE.AVG(<query>)
Copy

引数

query

テーブルまたはビューのSQLクエリを指定します。

許可されるデータ型

query で参照される列は、以下のデータ型のいずれかにする必要があります。

  • FLOAT

  • NUMBER

戻り値

関数は NUMBER を返します。

アクセス制御の要件

システムDMFを使用するには、次のアクセス制御アプローチのいずれかを選択します。

  • テーブルに対する OWNERSHIP 権限を持つロールであるテーブル所有者ロールに、DATA_METRIC_USERデータベースロールを付与します。このデータベースロールは、SNOWFLAKE.CORE スキーマに対する USAGE 権限と、SNOWFLAKE.CORE スキーマにあるすべてのシステム DMFs に対する USAGE 権限を持ちます。

    さらに、このテーブルの権限をテーブル所有者ロールに付与します。

    権限

    オブジェクト

    メモ

    EXECUTE DATA METRIC FUNCTION

    アカウント

    この権限により、どのロールがサーバーレスのコンピューティングリソースにアクセスできるかを制御し、システムDMFを呼び出すことができます。

    USAGE

    データベース、スキーマ

    これらのオブジェクトは、 query で参照されているテーブルを含むデータベースとスキーマです。

  • テーブル内の権限をテーブル所有者ロールに付与し、これらの権限をテーブル所有者ロールに付与します。

  • ACCOUNTADMIN ロールを使用します。

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

テーブルの salary 列の平均値を測定します。

SELECT SNOWFLAKE.CORE.AVG(
  SELECT
    salary
  FROM hr.tables.empl_info
);
Copy
+------------------------------------------------------------+
| SNOWFLAKE.CORE.AVG(SELECT salary FROM hr.tables.empl_info) |
+------------------------------------------------------------+
| 137000                                                     |
+------------------------------------------------------------+