Função AVG - Amazon Redshift

Função AVG

A função AVG retorna a média (meio aritmético) dos valores de expressão de entrada. A função AVG funciona com valores numéricos e ignora valores NULL.

Sintaxe

AVG ( [ DISTINCT | ALL ] expression )

Argumentos

expressão

A coluna ou expressão de destino na qual a função opera. A expressão é um destes tipos de dados:

  • SMALLINT

  • INTEGER

  • BIGINT

  • NUMERIC

  • DECIMAL

  • REAL

  • DOUBLE PRECISION

  • SUPER

DISTINCT | ALL

Com o argumento DISTINCT, a função elimina todos os valores duplicados da expressão especificada antes de calcular a média. Com o argumento ALL, a função retém todos os valores duplicados da expressão especificada para calcular a média. ALL é o padrão.

Tipos de dados

Os tipos de argumento compatíveis com a função AVG são SMALLINT, INTEGER, BIGINT, NUMERIC, DECIMAL, REAL, DOUBLE PRECISION e SUPER.

Os tipos de retorno compatíveis com a função AVG são:

  • BIGINT para qualquer tipo argumento de inteiro

  • DOUBLE PRECISION para um argumento de ponto flutuante

  • Retorna o mesmo tipo de dados da expressão para qualquer outro tipo de argumento.

A precisão padrão para o resultado de uma função AVG com um argumento NUMERIC ou DECIMAL é 38. A escala do resultado é a mesma que a escala do argumento. Por exemplo, uma AVG de uma coluna DEC(5,2) retorna um tipo de dado DEC(38,2).

Exemplos

Encontre a quantidade média vendida por transação na tabela SALES:

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

Encontre o preço total médio listado para todas as ofertas:

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

Encontre o preço médio pago, agrupado por mês em ordem descendente:

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)