Pular para o conteúdo principal
Documentos
FunçõesExpressõesKeywordsDeclaraçõesCláusulas

Função MySQL COUNT()

A função `COUNT()` do MySQL é usada para retornar o número de linhas que correspondem a um critério especificado. É frequentemente empregado na análise de dados para determinar o tamanho de conjuntos de dados ou subconjuntos em um banco de dados.

Uso

A função `COUNT()` é usada para contar o número de linhas em uma tabela ou contar o número de valores distintos em uma coluna, fornecendo informações sobre a distribuição e o tamanho dos dados.

sql
SELECT COUNT(column_name)
FROM table_name
[WHERE condition];

Nessa sintaxe, `COUNT(column_name)` retorna o número de valores não NULL em uma coluna especificada, enquanto `COUNT(*)` conta todas as linhas no conjunto de resultados, inclusive aquelas com valores NULL.

Exemplos

1. Contagem de todas as linhas

sql
SELECT COUNT(*)
FROM orders;

Esse exemplo conta todas as linhas da tabela `orders`, fornecendo o número total de pedidos.

2. Contagem de valores não NULL

sql
SELECT COUNT(email)
FROM customers;

Essa sintaxe conta o número de entradas `email` não NULL na tabela `customers`, o que é útil para identificar o número de endereços de e-mail válidos.

3. Contagem de valores distintos

sql
SELECT COUNT(DISTINCT product_id)
FROM sales;

A consulta conta entradas distintas de `product_id` na tabela `sales`, o que é útil para determinar quantos produtos diferentes foram vendidos. Observe que o uso de `COUNT(DISTINCT column_name)` pode ser computacionalmente caro com grandes conjuntos de dados.

Dicas e práticas recomendadas

  • Use COUNT(*) para a contagem total de linhas. Essa sintaxe é otimizada para a contagem de todas as linhas e geralmente é mais rápida do que a contagem de uma coluna específica.
sql
SELECT COUNT(*)
FROM employees;

Use isso para obter rapidamente o número total de funcionários.

  • Contar colunas específicas para valores não NULL. Use `COUNT(nome_da_coluna)` para excluir NULLs e se concentrar nos dados que não estão faltando.
sql
SELECT COUNT(phone)
FROM customers;

Este exemplo conta apenas os clientes com um número de telefone fornecido.

  • Combine com GROUP BY para obter contagens de subgrupos. Use `GROUP BY` com `COUNT()` para obter contagens para cada subgrupo, como contagens por categoria.
sql
SELECT department, COUNT(*)
FROM employees
GROUP BY department;

Essa consulta fornece o número de funcionários em cada departamento.

  • Use DISTINCT para contagens exclusivas. Use `COUNT(DISTINCT column_name)` para contar valores exclusivos, o que pode ser mais intensivo em termos de computação, mas é necessário para análises específicas.
  • Considere as implicações de desempenho. Tenha cuidado com os problemas de desempenho ao usar `COUNT(DISTINCT column_name)` em grandes conjuntos de dados e garanta que os índices sejam otimizados.
  • Use com GROUP BY e HAVING para consultas refinadas. `COUNT()` pode ser usado com `GROUP BY` e `HAVING` para filtrar grupos com base em condições agregadas.
sql
SELECT department, COUNT(*)
FROM employees
GROUP BY department
HAVING COUNT(*) > 10;

Este exemplo inclui apenas departamentos com mais de 10 funcionários.

Ao compreender esses aplicativos da função `COUNT()`, você garantirá uma análise de dados precisa e eficiente no MySQL.

Aprimoramento de SQL para iniciantes

Adquira as habilidades de SQL para interagir com seus dados e consultá-los.
Comece a aprender de graça