Função PostgreSQL COUNT

Resumo: neste tutorial, você aprenderá como usar a função PostgreSQL COUNT() para contar o número de linhas em uma tabela.

Função PostgreSQL COUNT()

Função COUNT() é uma função agregada que permite a você obter o número de linhas que correspondem a uma condição específica de uma consulta.

A seguinte instrução ilustra várias maneiras de usar a COUNT() function.

COUNT(*)

The COUNT(*) function retorna o número de linhas retornadas por uma instrução SELECT, incluindo NULL e duplicatas.

Code language: SQL (Structured Query Language) (sql)

Quando você aplica a função COUNT(*) a toda a tabela, o PostgreSQL tem que digitalizar a tabela inteira sequencialmente.

Se você usar a função COUNT(*) em uma tabela grande, a consulta será lenta. Isto está relacionado com a implementação do MVCC do PostgreSQL. Como múltiplas transações vêem diferentes estados de dados ao mesmo tempo, não há uma maneira direta para a função COUNT(*) contar em toda a tabela, portanto o PostgreSQL deve varrer todas as linhas.

COUNT(column)

Similiar à função COUNT(*), a função COUNT(column) retorna o número de linhas retornadas por uma cláusula SELECT. No entanto, não considera NULL valores no column.

Code language: SQL (Structured Query Language) (sql)

COUNT(DISTINCT column)

Neste formulário, o COUNT(DISTINCT column) retorna o número de valores únicos não-nulos no column.

Code language: SQL (Structured Query Language) (sql)

Usamos frequentemente a função COUNT() com a cláusula GROUP BY para retornar o número de itens para cada grupo. Por exemplo, podemos usar a função COUNT() com a cláusula GROUP BY para retornar o número de filmes em cada categoria de filme.

PostgreSQL COUNT() exemplos de funções

Vamos usar a tabela payment na base de dados de amostra para a demonstração.

1) Exemplo de PostgreSQL COUNT(*)

A seguinte declaração usa a função COUNT(*) para retornar o número de transações na tabela payment:

Code language: SQL (Structured Query Language) (sql)

Aqui está a saída:

2) exemplo de PostgreSQL COUNT(coluna DISTINCT)

Para obter os valores distintos que os clientes pagaram, você usa a função COUNT(DISTINCT amount) como mostrado no exemplo a seguir:

Code language: SQL (Structured Query Language) (sql)

PostgreSQL COUNT() com cláusula GROUP BY

Para obter o número de pagamentos pelo cliente, use a cláusula GROUP BY para agrupar os pagamentos em grupos baseados no id do cliente, e use a função COUNT() para contar os pagamentos de cada grupo.

A seguinte consulta ilustra a ideia:

Code language: SQL (Structured Query Language) (sql)

Aqui está a saída parcial:

PostgreSQL COUNT() com cláusula HAVING

Pode usar a função COUNT numa cláusula HAVING para aplicar uma condição específica aos grupos. Por exemplo, a seguinte declaração encontra clientes que fizeram mais de 40 pagamentos:

Code language: SQL (Structured Query Language) (sql)

Neste tutorial, você aprendeu como usar a função PostgreSQL COUNT() para retornar o número de linhas em uma tabela.

  • Este tutorial foi útil ?
  • Sim Não
  • Deixe uma resposta

    O seu endereço de email não será publicado.