Función AVG - Amazon Redshift

Función AVG

La función AVG devuelve el promedio (media aritmética) de los valores de la expresión de entrada. La función AVG funciona con valores numéricos e ignora los valores NULL.

Sintaxis

AVG ( [ DISTINCT | ALL ] expression )

Argumentos

expression

La columna o expresión de destino sobre la que opera la función. La expresión corresponde a uno de los siguientes tipos de datos:

  • SMALLINT

  • INTEGER

  • BIGINT

  • NUMERIC

  • DECIMAL

  • REAL

  • DOUBLE PRECISION

  • SUPER

DISTINCT | ALL

Con el argumento DISTINCT, la función elimina todos los valores duplicados de la expresión especificada antes de calcular el promedio. Con el argumento ALL, la función retiene todos los valores duplicados de la expresión especificada para calcular el promedio. El valor predeterminado es ALL.

Tipos de datos

Los tipos de argumento compatibles con la función AVG son SMALLINT, INTEGER, BIGINT, NUMERIC, DECIMAL, REAL, DOUBLE PRECISION y SUPER.

Los tipos de retorno compatibles con la función AVG son los siguientes:

  • BIGINT para cualquier argumento de tipo entero

  • DOUBLE PRECISION para un argumento de punto flotante

  • Devuelve el mismo tipo de datos como expresión para cualquier otro tipo de argumento.

La precisión predeterminada para un resultado de la función AVG con un argumento NUMERIC o DECIMAL de es 38. La escala del resultado es la misma que la escala del argumento. Por ejemplo, una función AVG de una columna DEC(5,2) devuelve un tipo de datos DEC(38,2).

Ejemplos

Encontrar la cantidad promedio vendida por transacción de la tabla SALES:

select avg(qtysold)from sales; avg ----- 2 (1 row)

Encontrar el precio total promedio en lista para todas las listas:

select avg(numtickets*priceperticket) as avg_total_price from listing; avg_total_price ----------------- 3034.41 (1 row)

Encontrar el precio promedio pagado, agrupado por mes en orden descendiente:

select avg(pricepaid) as avg_price, month from sales, date where sales.dateid = date.dateid group by month order by avg_price desc; avg_price | month -----------+------- 659.34 | MAR 655.06 | APR 645.82 | JAN 643.10 | MAY 642.72 | JUN 642.37 | SEP 640.72 | OCT 640.57 | DEC 635.34 | JUL 635.24 | FEB 634.24 | NOV 632.78 | AUG (12 rows)