Função COUNT - AWS Clean Rooms

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Função COUNT

A função COUNT contas as linhas definidas pela expressão.

A função COUNT tem as variações a seguir.

  • COUNT ( * ) 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.

  • COUNT ( expressão DISTINCT ) computa o número de valores distintos não NULL em uma coluna ou expressão.

  • APPROXIMATE COUNT DISTINCT aproxima o número de valores distintos não NULL em uma coluna ou expressão.

Sintaxe

COUNT( * | expression )
COUNT ( [ DISTINCT | ALL ] expression )
APPROXIMATE COUNT ( DISTINCT expression )

Argumentos

expressão

A coluna ou expressão de destino na qual a função opera. A função COUNT é compatível com todos os tipos de dados de argumento.

DISTINCT | ALL

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

APPROXIMATE

Quando usada com APPROXIMATE, uma função COUNT DISTINCT usa um HyperLogLog algoritmo para aproximar o número de valores distintos não NULL em uma coluna ou expressão. A consultas que usam a palavra-chave APPROXIMATE são executadas muito mais rápido, com um baixo erro relativo de cerca de 2%. A aproximação é justificada para consultas que retornam um grande número de valores distintos, com milhões ou mais por consulta ou grupo, se houver uma cláusula group by. Para conjuntos menores de valores distintos, na casa dos milhares, a aproximação pode ser mais lenta do que uma contagem precisa. APPROXIMATE pode ser usada somente com COUNT DISTINCT.

Tipo de retorno

A função COUNT retorna BIGINT.

Exemplos

Conte todos os usuários do estado da Flórida:

select count(*) from users where state='FL'; count ------- 510

Conte todos os nomes de eventos da tabela EVENT:

select count(eventname) from event; count ------- 8798

Conte todos os nomes de eventos da tabela EVENT:

select count(all eventname) from event; count ------- 8798

Conte todos os IDs exclusivos dos locais de evento da tabela EVENT:

select count(distinct venueid) as venues from event; venues -------- 204

Conte o número de vezes que cada vendedor listou lotes de um ou mais ingressos para venda. Agrupe os resultados por ID de vendedor:

select count(*), sellerid from listing where numtickets > 4 group by sellerid order by 1 desc, 2; count | sellerid ------+---------- 12 | 6386 11 | 17304 11 | 20123 11 | 25428 ...

Os seguintes exemplos comparam os valores de retorno e os tempos de execução para COUNT e APPROXIMATE COUNT.

select count(distinct pricepaid) from sales; count ------- 4528 Time: 48.048 ms select approximate count(distinct pricepaid) from sales; count ------- 4553 Time: 21.728 ms