Database
 sql >> Base de Dados >  >> RDS >> Database

Como usar COUNT no SQL?


Como usar COUNT no SQL

Introdução
  • COUNT( ) é uma função agregada em SQL.
  • Esta função conta o número de registros em uma tabela se a condição não for especificada.
  • Se a condição for especificada, a função de contagem retornará o número de registros que satisfazem a condição especificada.

Variações de CONTAR ( ) em SQL
  1. COUNT(*)

CONTAGEM (*) é usado para exibir o número de registros presentes em uma tabela.

Os resultados da função COUNT (*) conterão NULL, bem como entradas duplicadas também em consideração.

Sintaxe:
SELECT COUNT (*) FROM tablename;

Exemplo:

Primeiro vamos criar um banco de dados com o nome “employeedb”. Então nesse banco de dados vamos criar uma tabela “employee” e inserir registros na tabela. Consideraremos esta tabela e banco de dados para todos os exemplos subsequentes.

Encontraremos o número de registros presentes na tabela ‘employee’ usando a função COUNT().
 mysql> USE employeedb;
 Database changed
 mysql> SELECT *FROM employee;
 +--------+----------+------------+
 | Emp_ID | Emp_Name | Emp_Salary |
 +--------+----------+------------+
 |      1 | Nikita   |      30000 |
 |      2 | Riddhi   |      25000 |
 |      3 | Nayan    |      45000 |
 |      4 | Shruti   |      15000 |
 |      5 | Anurati  |      55000 |
 |      6 | NULL     |       NULL |
 |      7 | Anurati  |      55000 |
 +--------+----------+------------+
 7 rows in set (0.00 sec) 
mysql> SELECT COUNT(*) FROM employee;

Saída:
 +----------+
 | COUNT(*) |
 +----------+
 |        7 |
 +----------+
 1 row in set (0.00 sec) 

Existem 7 registros presentes na tabela de funcionários.
  • COUNT (1)

COUNT (1) também é usado para exibir o número de registros presentes em uma tabela. Os resultados da função COUNT (1) conterão NULL, bem como entradas duplicadas também em consideração. A função COUNT (1) funciona da mesma forma que COUNT (*). Mesmo os resultados de COUNT (1) e COUNT (*) também são os mesmos.

Sintaxe:
SELECT COUNT (1) FROM tablename;

Exemplo 1: Vamos exibir o número de registros presentes na tabela de funcionários usando COUNT (1).
mysql> SELECT COUNT(1) FROM employee;

Saída:
 +----------+
 | COUNT(1) |
 +----------+
 |        7 |
 +----------+
 1 row in set (0.00 sec) 

Existem 7 registros presentes em uma tabela.

Exemplo 2:

Vamos ver o que acontece quando passamos 14 como parâmetro para a função COUNT().
mysql> SELECT COUNT(14) FROM employee;

Saída:
 +-----------+
 | COUNT(14) |
 +-----------+
 |         7 |
 +-----------+
 1 row in set (0.00 sec) 

Existem 7 registros presentes em uma tabela. Assim, 7 é exibido como saída mesmo que tenhamos passado 14 como parâmetro para a função COUNT(). Passar um inteiro para uma função COUNT() não significa contar esse número de linhas na tabela. Significa simplesmente que 14 serão atribuídos a cada linha presente em uma tabela e, em seguida, essas linhas serão somadas para fornecer um total e exibidas como uma saída.

Exemplo 3:

Vamos ver o que acontece quando passamos -14 como parâmetro para a função COUNT().
mysql> SELECT COUNT(-14) FROM employee;

Saída:
 +------------+
 | COUNT(-14) |
 +------------+
 |          7 |
 +------------+
 1 row in set (0.07 sec) 

Existem 7 registros presentes em uma tabela. Assim, 7 é exibido como uma saída mesmo que tenhamos passado -14 como parâmetro para a função COUNT(). Significa simplesmente que -14 será atribuído a cada linha presente em uma tabela e, em seguida, essas linhas serão somadas para fornecer um total e exibidas como uma saída.
  • COUNT(ColumnName)

COUNT(ColumnName) é usado para localizar o número de registros que contêm valores para a coluna especificada. Ao usar a função COUNT() com columnname como parâmetro, os registros que contêm valores NULL para esse registro serão ignorados.

Sintaxe:
SELECT COUNT(ColumnName) FROM tablename;

Exemplo 1:

Vamos exibir o número de registros que existem para Emp_ID.
mysql> SELECT COUNT(Emp_ID) FROM employee;

Saída:
 +---------------+
 | COUNT(Emp_ID) |
 +---------------+
 |             7 |
 +---------------+
 1 row in set (0.00 sec) 

Existem 7 registros que contêm Emp_ID exclusivo. Portanto, 7 é exibido como uma saída.

Exemplo 2:

Vamos exibir o número de registros que existem para Emp_Name.
mysql> SELECT COUNT(Emp_Name) FROM employee;

Saída:
 +-----------------+
 | COUNT(Emp_Name) |
 +-----------------+
 |               6 |
 +-----------------+
 1 row in set (0.00 sec) 

Existem 7 registros na tabela de funcionários, entre os quais, um registro contém valores NULL para Emp_Name. Portanto, esse registro específico é ignorado e 6 é exibido como uma saída.

Exemplo 3:

Vamos exibir o número de registros que existem para Emp_Salary.
mysql> SELECT COUNT(Emp_Salary) FROM employee;

Saída:
 +-------------------+
 | COUNT(Emp_Salary) |
 +-------------------+
 |                 6 |
 +-------------------+
 1 row in set (0.00 sec) 

Existem 7 registros na tabela de funcionários, entre os quais um registro contém valores NULL para Emp_Salary. Portanto, esse registro específico é ignorado e 6 é exibido como uma saída.
  • COUNT(DISTINCT ColumnnName)

A função COUNT() com DISTINCT ColumnName como seu parâmetro é usada para exibir o número de registros que contém valores exclusivos para uma coluna específica. Registros que contenham valores duplicados e NULL não serão contados.

Sintaxe:
SELECT COUNT(DISTINCT ColumnName) FROM tablename;

Exemplo 1:

Exibiremos o número de registros que contêm valores exclusivos para Emp_ID.
mysql> SELECT COUNT( DISTINCT Emp_ID) FROM employee;

Saída:
 +-------------------------+
 | COUNT( DISTINCT Emp_ID) |
 +-------------------------+
 |                       7 |
 +-------------------------+
 1 row in set (0.05 sec) 

Existem 7 registros que contêm valores exclusivos para Emp_ID.

Exemplo 2:

Exibiremos o número de registros que contêm valores exclusivos para Emp_Name.
mysql> SELECT COUNT( DISTINCT Emp_Name) FROM employee;

Saída:
 +---------------------------+
 | COUNT( DISTINCT Emp_Name) |
 +---------------------------+
 |                         5 |
 +---------------------------+
 1 row in set (0.00 sec) 

Existem 5 registros que contêm valores exclusivos para Emp_Name. Valores NULL e duplicados em Emp_Name não serão considerados pela palavra-chave DISTINCT.

Exemplo 3:

Exibiremos o número de registros que contêm valores exclusivos para Emp_Salary.
mysql> SELECT COUNT( DISTINCT Emp_Salary) FROM employee;

Saída:
 +-----------------------------+
 | COUNT( DISTINCT Emp_Salary) |
 +-----------------------------+
 |                           5 |
 +-----------------------------+
 1 row in set (0.00 sec) 

Existem 5 registros que contêm valores exclusivos para Emp_Salary. Valores NULL e duplicados em Emp_Salary não serão considerados pela palavra-chave DISTINCT.