As variações da sintaxe atingem objetivos diferentes.
A sintaxe COUNT(*) nos permite contar o número de linhas em uma tabela
A sintaxe COUNT(DISTINCT column) nos permite contar o número de valores distintos em uma coluna
A sintaxe COUNT(CASE WHEN condition THEN column END) nos permite contar o número de valores que atendem às condições.
COUNT()usado com GROUP BY, é útil para contar o número de linhas que pertencem a cada grupo.
COUNT()usado com HAVING, é útil para filtrar grupos de acordo com o número de linhas que eles têm.
Vamos ilustrá-los com os exemplos abaixo.
COUNT() exemplos
Exemplo 1: Contagem do número de linhas com COUNT(*)
A tabela chamada products contém todos os produtos que uma empresa vende. A cláusula COUNT(*) nos permite calcular o número de linhas na tabela.
SELECTCOUNT(*)AS number_of_rows
FROM productsTecnologia
number_of_rows
321
Exemplo 2: Contagem de valores exclusivos com COUNT(DISTINCT …)
A sintaxe COUNT(DISTINCT column) nos permite contar o número de valores exclusivos em uma coluna.
Por exemplo, cada produto tem uma marca associada na tabela products. Podemos contar o número de produtos e marcas exclusivos na tabela.
SELECTCOUNT(DISTINCT product_id)AS unique_product_count,COUNT(DISTINCT brand_id)AS unique_brand_count
FROM productsTecnologia
unique_product_count
unique_brand_count
321
9
Exemplo 3: Contar as linhas que correspondem a uma condição usando COUNT() com CASE WHEN
A sintaxe COUNT(CASE WHEN condition THEN column END) nos permite calcular o número de linhas que correspondem a uma condição.
Por exemplo, na tabela de produtos, cada produto tem um list_price. Podemos calcular quantos produtos são "expensive" (com um preço de lista superior a US$ 500) ou não.
Exemplo 4: Contar linhas em grupos usando COUNT() com GROUP BY
COUNT() pode ser usado com GROUP BY para encontrar o número de linhas em cada grupo.
Por exemplo, a tabela de produtos contém modelos de bicicletas de 2016 a 2019. Para encontrar a distribuição da bicicleta, podemos usar COUNT(product_id) e GROUP BY model_year para contar o número de produtos de cada ano.
SELECT
model_year,COUNT(product_id)AS product_count
FROM products
GROUPBY model_yearTecnologia
model_year
product_count
2016
26
2017
85
2018
204
2019
6
Exemplo 5: Filtrar por grupos usando COUNT() com GROUP BY e HAVING
No exemplo 4, vemos que COUNT() pode ser usado com GROUP BY. Podemos usar a instrução HAVING para filtrar os grupos usando o número de linhas nesse grupo.
Por exemplo, para encontrar o número de anos que têm menos de 50 produtos, podemos usar a seguinte sintaxe.
SELECT
model_year
FROM products
GROUPBY model_year
HAVINGCOUNT(product_id)<50Tecnologia
year_with_less_than_50_pdt
2016
2019
Requisitos técnicos
COUNT() é uma função que está disponível em todas as versões do SQL moderno.
Saiba como selecionar facilmente várias colunas de uma tabela de banco de dados em SQL ou selecionar todas as colunas de uma tabela em uma consulta simples.
O que é o
COUNT()função?A função
COUNT()retorna o número de linhas que correspondem a um critério.COUNT()syntaxA sintaxe básica do site
COUNT()é a seguinte.As variações da sintaxe atingem objetivos diferentes.
COUNT(*)nos permite contar o número de linhas em uma tabelaCOUNT(DISTINCT column)nos permite contar o número de valores distintos em uma colunaCOUNT(CASE WHEN condition THEN column END)nos permite contar o número de valores que atendem às condições.COUNT()usado comGROUP BY, é útil para contar o número de linhas que pertencem a cada grupo.COUNT()usado comHAVING, é útil para filtrar grupos de acordo com o número de linhas que eles têm.Vamos ilustrá-los com os exemplos abaixo.
COUNT()exemplosExemplo 1: Contagem do número de linhas com
COUNT(*)A tabela chamada products contém todos os produtos que uma empresa vende. A cláusula
COUNT(*)nos permite calcular o número de linhas na tabela.number_of_rows321
Exemplo 2: Contagem de valores exclusivos com
COUNT(DISTINCT …)A sintaxe
COUNT(DISTINCT column)nos permite contar o número de valores exclusivos em uma coluna.Por exemplo, cada produto tem uma marca associada na tabela
products. Podemos contar o número de produtos e marcas exclusivos na tabela.unique_product_countunique_brand_count321
9
Exemplo 3: Contar as linhas que correspondem a uma condição usando
COUNT()comCASE WHENA sintaxe
COUNT(CASE WHEN condition THEN column END)nos permite calcular o número de linhas que correspondem a uma condição.Por exemplo, na tabela de produtos, cada produto tem um
list_price. Podemos calcular quantos produtos são "expensive" (com um preço de lista superior a US$ 500) ou não.expensive_product_countcheap_product_count213
108
Exemplo 4: Contar linhas em grupos usando
COUNT()comGROUP BYCOUNT()pode ser usado comGROUP BYpara encontrar o número de linhas em cada grupo.Por exemplo, a tabela de produtos contém modelos de bicicletas de 2016 a 2019. Para encontrar a distribuição da bicicleta, podemos usar
COUNT(product_id)eGROUP BY model_yearpara contar o número de produtos de cada ano.model_yearproduct_count2016
26
2017
85
2018
204
2019
6
Exemplo 5: Filtrar por grupos usando
COUNT()comGROUP BYeHAVINGNo exemplo 4, vemos que
COUNT()pode ser usado comGROUP BY. Podemos usar a instruçãoHAVINGpara filtrar os grupos usando o número de linhas nesse grupo.Por exemplo, para encontrar o número de anos que têm menos de 50 produtos, podemos usar a seguinte sintaxe.
year_with_less_than_50_pdt2016
2019
Requisitos técnicos
COUNT()é uma função que está disponível em todas as versões do SQL moderno.Veja também
Saiba mais sobre o SQL