Categories:

Data metric functions

AVG (system data metric function)

Returns the average value for the specified column in a table.

The AVG system data metric function is optimized to calculate the average value for a single column and provides greater performance when compared to calling the AVG function.

This topic provides the syntax for calling the function directly. To learn how to associate the function with a table or view so it runs at regular intervals, see Associate a DMF to automate data quality checks.

Syntax

SNOWFLAKE.CORE.AVG(<query>)
Copy

Arguments

query

Specifies a SQL query that projects a single column.

Allowed data types

The column projected by the query must have one of the following data types:

  • FLOAT

  • NUMBER

Returns

The function returns a NUMBER value.

Access control requirements

Associating and running a system DMF requires the USAGE privilege on the system DMF. You can grant the SNOWFLAKE.DATA_METRIC_USER database role to give users the USAGE privilege on all system DMFs. For more information, see Grant the USAGE privilege on system DMFs.

For instructions on creating a custom role with a specified set of privileges, see Creating custom roles.

For general information about roles and privilege grants for performing SQL actions on securable objects, see Overview of Access Control.

Example

Measure the average value for the salary column in a table:

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