Com a função SQL COUNT(), você pode consultar quantas linhas estão dentro de uma tabela. Com a cláusula WHERE, também é possível es­pe­ci­fi­car ainda mais os critérios de pesquisa e saída.

O que é a função SQL COUNT()?

Em SQL (Struc­tu­red Query Language), existem várias funções que permitem realizar tarefas ma­te­má­ti­cas simples. Além de SQL AVG() e SUM(), a função SQL COUNT() é es­pe­ci­al­mente útil. A função retorna o número de linhas que cor­res­pon­dem a um de­ter­mi­nado critério. Isso permite que você filtre sua tabela de acordo com suas ne­ces­si­da­des, au­men­tando a clareza. SQL COUNT() é usado com o comando SQL SELECT. Com di­fe­ren­tes pa­râ­me­tros opcionais, você pode instruir a função com mais precisão. A seguir, mostramos alguns exemplos possíveis disso.

VPS Hosting (Virtual Private Servers)
World-class VPS at America’s lowest price

Hos­pe­da­gem VPS poderosa e de baixo custo para rodar suas apli­ca­ções sob medida, com as­sis­tente pessoal e suporte 24 horas.

  • Save 50% or more vs leading hosts
  • Unlimited traffic & no setup fees 
  • 99.99% uptime gua­ran­teed
  • Free 24/7 premium support 

Sintaxe da função SQL COUNT()

Pri­mei­ra­mente, vale a pena observar a sintaxe e a fun­ci­o­na­li­dade geral da função SQL COUNT(). No formato padrão, ela tem apenas duas linhas e se parece com isso:

SELECT COUNT(*)
FROM tabela;
sql

No entanto, muitas vezes é útil incluir uma cláusula WHERE para es­pe­ci­fi­car a saída. Nesse caso, a função fica um pouco mais longa:

SELECT COUNT(*)
FROM tabela
WHERE cláusula;
sql

Exemplo de uso da função SQL COUNT()

Para ilustrar as pos­si­bi­li­da­des ofe­re­ci­das pela função SQL COUNT(), criaremos uma tabela de exemplo chamada Lista de Clientes. Esta inclui detalhes sobre o número do cliente, o nome do cliente, a lo­ca­li­za­ção, o número de itens pedidos e o valor total investido em euros. A tabela se parece com isso:

Número do Cliente Nome Lo­ca­li­za­Ã§Ã£o Itens Valor Total
1427 Schmidt Santos 14 634
1377 Moraes Montes Claros 9 220
1212 Rodrigues Montes Claros 15 619
1431 Mendes Flo­ri­a­nó­po­lis 22 912
1118 Becker NULL 10 312

Ao apli­car­mos a versão básica da função nesta tabela, obtemos o seguinte código:

SELECT COUNT(*)
FROM Lista de Clientes;
sql

A saída será o valor 5, já que a tabela contém cinco linhas.

Es­pe­ci­fi­car colunas de consulta com SQL COUNT()

Com o asterisco após COUNT, você instrui a função a con­si­de­rar todas as linhas e campos sem exceção. No entanto, também é possível reduzir a consulta apenas a certas colunas. Nesse caso, valores NULL não são con­si­de­ra­dos. Se ve­ri­fi­car­mos a quan­ti­dade de linhas na coluna Localização, obteremos um resultado diferente:

SELECT COUNT(Localização)
FROM Lista de Clientes;
sql

Como o cliente Becker não tem uma lo­ca­li­za­ção re­gis­trada, o resultado será 4.

Combinar SQL COUNT() e WHERE

No próximo passo, uti­li­za­mos a função com uma cláusula WHERE. Isso nos ajuda a filtrar as entradas de acordo com nossos critérios. Por exemplo, se quisermos verificar quantos clientes são de Montes Claros, adi­ci­o­na­mos essa condição:

SELECT COUNT(Localização)
FROM Lista de Clientes
WHERE Localização = 'Montes Claros';
sql

Como resultado, agora obtemos 2.

De forma similar, a SQL COUNT() também funciona se quisermos con­si­de­rar apenas os clientes que gastaram pelo menos 400 euros:

SELECT COUNT(Localização)
FROM Lista de Clientes
WHERE Valor Total > 400;
sql

Esse critério se aplica a três clientes.

Excluir entradas du­pli­ca­das com SQL COUNT()

Com a palavra-chave DISTINCT, você pode excluir entradas du­pli­ca­das. Se quiser saber de quantas cidades di­fe­ren­tes vêm seus clientes, use o seguinte código:

SELECT COUNT(*) AS [Número de Entradas]
FROM Lista de Clientes;
sql

O resultado será 3. As duas entradas para Montes Claros são contadas apenas uma vez, e como o campo para o cliente Becker é NULL, ele é excluído da contagem.

Usar SQL COUNT() com um alias

Se desejar adicionar um título à saída, pode utilizar a palavra-chave AS (mais sobre SQL AS em nosso guia). Isso cria um alias para a duração da consulta. Para nosso exemplo, um possível alias poderia ser:

SELECT COUNT(*) AS [Número de Entradas]
FROM Lista de Clientes;
sql

A saída então será assim:

Número de Entradas
5
sql
Dica

Escolha o modelo de banco de dados que realmente se adequa às suas ne­ces­si­da­des: com o SQL Server Hosting da IONOS, escolhe entre MSSQL, MySQL ou MariaDB, conforme a sua pre­fe­rên­cia, be­ne­fi­ci­ando-se de um de­sem­pe­nho de ponta, uma ar­qui­te­tura de segurança robusta e aten­di­mento per­so­na­li­zado.

Ir para o menu principal