A função MySQL count() é usada para retornar a contagem de uma expressão. Permite-nos contar todas as linhas ou apenas algumas linhas da tabela que correspondem a uma condição especificada. É um tipo de função agregada cujo tipo de retorno é BIGINT. Esta função retorna 0 se não encontrar nenhuma linha correspondente.
Podemos usar a função de contagem de três formas, explicadas a seguir:
- Contar (*)
- Contagem (expressão)
- Contar (distinto)
Vamos discutir cada um em detalhes.
CONTAGEM(*) Função: Esta função usa a instrução SELECT para retornar a contagem de linhas em um conjunto de resultados. O conjunto de resultados contém todas as linhas não nulas, nulas e duplicadas.
CONTAGEM(expressão) Função: Esta função retorna o conjunto de resultados sem conter linhas nulas como resultado de uma expressão.
COUNT (expressão distinta) Função: Esta função retorna a contagem de linhas distintas sem conter valores NULL como resultado da expressão.
Sintaxe
A seguir está a sintaxe da função COUNT():
o que é exportação no Linux
SELECT COUNT (aggregate_expression) FROM table_name [WHERE conditions];
Explicação dos parâmetros
expressão_agregada: Especifica a coluna ou expressão cujos valores NÃO NULOS serão contados.
Nome da tabela: Especifica as tabelas de onde você deseja recuperar registros. Deve haver pelo menos uma tabela listada na cláusula FROM.
ONDE condições: É opcional. Especifica as condições que devem ser cumpridas para que os registros sejam selecionados.
Exemplo de função de contagem() do MySQL
Considere uma tabela chamada 'empregados' que contém os seguintes dados.
Vamos entender como as funções count() funcionam em MySQL .
Exemplo 1
Execute a seguinte consulta que usa a função COUNT(expressão) para calcular o número total de nomes de funcionários disponíveis na tabela:
modem vs roteador
mysql> SELECT COUNT(emp_name) FROM employees;
Saída:
Exemplo2
Execute a seguinte instrução que retorna todas as linhas da tabela de funcionários e a cláusula WHERE especifica as linhas cujo valor na coluna emp_age é maior que 32:
mysql> SELECT COUNT(*) FROM employees WHERE emp_age>32;
Saída:
Exemplo3
Esta instrução usa a função COUNT (expressão distinta) que conta as linhas não nulas e distintas na coluna emp_age:
mysql> SELECT COUNT(DISTINCT emp_age) FROM employees;
Saída:
Função MySQL Count() com cláusula GROUP BY
Também podemos usar a função count() com a cláusula GROUP BY que retorna a contagem do elemento em cada grupo. Por exemplo, a instrução a seguir retorna o número de funcionários em cada cidade:
mysql> SELECT emp_name, city, COUNT(*) FROM employees GROUP BY city;
Após a execução bem-sucedida, obteremos o resultado conforme abaixo:
Função MySQL Count() com cláusula HAVING e ORDER BY
Vejamos outra cláusula que usa a cláusula ORDER BY e Taking com a função count(). Execute a seguinte instrução que fornece o nome do funcionário que tem pelo menos duas idades iguais e os classifica com base no resultado da contagem:
listar como array
mysql> SELECT emp_name, emp_age, COUNT(*) FROM employees GROUP BY emp_age HAVING COUNT(*)>=2 ORDER BY COUNT(*);
Esta declaração dará a saída conforme abaixo: