

 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 de janela AVG
<a name="r_WF_AVG"></a>

 A função de janela 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_WF_AVG-synopsis"></a>

```
AVG ( [ALL ] expression ) OVER
(
[ PARTITION BY expr_list ]
[ ORDER BY order_list 
                        frame_clause ]
)
```

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

 *expressão *   
A coluna ou expressão de destino na qual a função opera. 

ALL   
Com o argumento ALL, a função retém todos os valores duplicados da expressão para contagem. ALL é o padrão. DISTINCT não é compatível.

OVER   
Especifica as cláusulas de janela das funções de agregação. A cláusula OVER distingue funções de agregação de janela das funções de agregação de conjuntos normais.

PARTITION BY *expr\$1list*   
Define a janela para a função AVG em termos de uma ou mais expressões.

ORDER BY *order\$1list*   
Classifica as linhas dentro de cada partição. Se nenhuma PARTITION BY for especificada, ORDER BY usa a tabela completa.

 *frame\$1clause*   
Se uma cláusula ORDER BY é usada para uma função agregada, uma cláusula de quadro explícita é necessária. A cláusula de quadro refina o conjunto de linhas na janela de uma função, incluindo ou excluindo conjuntos de linhas no resultado ordenado. A cláusula de quadro consiste na palavra-chave ROWS e nos especificadores associados. Consulte [Resumo da sintaxe de funções da janela](c_Window_functions.md#r_Window_function_synopsis).

## Tipos de dados
<a name="c_Supported_data_types_wf_avg"></a>

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

Os tipos de retorno compatíveis com a função AVG são: 
+ BIGINT para argumentos SMALLINT ou INTEGER
+ NUMERIC para argumentos BIGINT
+ DOUBLE PRECISION para argumentos de ponto flutuante

## Exemplos
<a name="r_WF_AVG-examples"></a>

O seguinte exemplo calcula uma média móvel das quantidades vendidas por data; ordene os resultados por ID de data e ID de vendas: 

```
select salesid, dateid, sellerid, qty,
avg(qty) over
(order by dateid, salesid rows unbounded preceding) as avg
from winsales
order by 2,1;

salesid |   dateid   | sellerid | qty | avg
---------+------------+----------+-----+-----
30001 | 2003-08-02 |        3 |  10 |  10
10001 | 2003-12-24 |        1 |  10 |  10
10005 | 2003-12-24 |        1 |  30 |  16
40001 | 2004-01-09 |        4 |  40 |  22
10006 | 2004-01-18 |        1 |  10 |  20
20001 | 2004-02-12 |        2 |  20 |  20
40005 | 2004-02-12 |        4 |  10 |  18
20002 | 2004-02-16 |        2 |  20 |  18
30003 | 2004-04-18 |        3 |  15 |  18
30004 | 2004-04-18 |        3 |  20 |  18
30007 | 2004-09-07 |        3 |  30 |  19
(11 rows)
```

 Para uma descrição da tabela WINSALES, consulte [Amostra de tabela para exemplos de funções de janela](c_Window_functions.md#r_Window_function_example).