

 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 COUNT
<a name="r_WF_COUNT"></a>

 A função de janela COUNT conta as linhas definidas pela expressão.

A função COUNT tem duas variações. COUNT (\$1) conta todas as linhas na tabela de destino independente se elas contêm nulls ou não. COUNT (expressão) computa o número de linhas com valores não NULL em uma coluna ou expressão específica.

## Sintaxe
<a name="r_WF_COUNT-synopsis"></a>

```
COUNT ( * | [ ALL ] expression) OVER
(
[ PARTITION BY expr_list ]
[ ORDER BY order_list 
                        frame_clause ]
)
```

## Argumentos
<a name="r_WF_COUNT-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 COUNT 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_count"></a>

A função COUNT é compatível com todos os tipos de dados de argumento.

O tipo de retorno compatível com a função COUNT é BIGINT.

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

 O exemplo a seguir mostra o ID de vendas, a quantidade e a contagem de todas as linhas desde o início da janela de dados: 

```
select salesid, qty,
count(*) over (order by salesid rows unbounded preceding) as count
from winsales
order by salesid;

salesid | qty | count
---------+-----+-----
10001 |  10 |   1
10005 |  30 |   2
10006 |  10 |   3
20001 |  20 |   4
20002 |  20 |   5
30001 |  10 |   6
30003 |  15 |   7
30004 |  20 |   8
30007 |  30 |   9
40001 |  40 |   10
40005 |  10 |   11
(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). 

O exemplo a seguir mostra como o ID de vendas, a quantidade e a contagem de linhas não nulas desde o início da janela de dados. (Na tabela WINSALES, a coluna QTY\$1SHIPPED contém alguns NULLs.) 

```
select salesid, qty, qty_shipped,
count(qty_shipped)
over (order by salesid rows unbounded preceding) as count
from winsales
order by salesid;

salesid | qty | qty_shipped | count
---------+-----+-------------+-------
10001 |  10 |          10 |   1
10005 |  30 |             |   1
10006 |  10 |             |   1
20001 |  20 |          20 |   2
20002 |  20 |          20 |   3
30001 |  10 |          10 |   4
30003 |  15 |             |   4
30004 |  20 |             |   4
30007 |  30 |             |   4
40001 |  40 |             |   4
40005 |  10 |          10 |   5
(11 rows)
```