

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Função AVG
<a name="r_AVG"></a>

 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
<a name="r_AVG-synopsis"></a>

```
AVG ( [ DISTINCT | ALL ] expression )
```

## Argumentos
<a name="r_AVG-arguments"></a>

 *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
<a name="r_AVG-data-types"></a>

 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
<a name="r_AVG-examples"></a>

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)
```