funções agregadas

Disponível

6.1 Lista de funções agregadas

Ao usar o agrupamento de linhas em SQL com o operador GROUP BY, você pode usar SELECTfunções na instrução que operam nos dados agrupados. Essas funções também são chamadas de funções agregadas.

Aqui está uma lista dos mais populares:

# Função Descrição
1 CONTAR() Retorna o número de valores em um grupo
2 SOMA() Retorna a soma dos valores em um grupo
3 MAX() Retorna o valor máximo de um grupo
4 MIN() Retorna o valor mínimo de um grupo
5 AVG() Retorna a média de um grupo
6 BIT_AND() Executa um AND bit a bit sobre todos os valores de grupo
7 BIT_OR() Executa um OU bit a bit sobre todos os valores de grupo
8 BIT_XOR() Executa um XOR bit a bit sobre todos os valores do grupo
9 GROUP_CONCAT() Concatena todos os valores do grupo em uma string
Esta não é uma lista completa de funções agregadas, mas o resto é muito específico e não acho que você as usará nos próximos 5 anos. Se você ainda precisar delas, sempre pode ler a documentação oficial do seu DBMS.

Agora vamos ver alguns exemplos com nossas funções de agregação.

6.2 Analisando os salários dos funcionários

Vamos calcular algumas estatísticas sobre nossos funcionários da tabela de funcionários .

Pergunta um: quantos funcionários temos?

Se quisermos descobrir o número de todos os registros na tabela, podemos usar a função agregada para isso COUNT. A solicitação ficará assim:

SELECT COUNT(*) FROM employee

E o MySQL retornará como resposta o número 6. Temos 6 funcionários no departamento, incluindo um gato. Tudo bem.

Pergunta dois: quanto pagamos por mês a todos os funcionários?

Para responder a essa pergunta, precisamos somar os salários de todos os funcionários. Para fazer isso, usamos a função agregadaSUM()

A solicitação ficará assim:

SELECT SUM(salary) FROM employee

Observe que desta vez somos obrigados a especificar os valores de qual coluna estamos resumindo. Especificamos uma coluna de salário . Não podemos simplesmente somar todos os campos em uma tabela.

E o MySQL retornará como resposta o número 461000. Temos 6 funcionários no departamento e o salário é de 461 mil. Demais.

E, finalmente, a terceira pergunta: quais são os nossos salários máximos e mínimos no departamento? Bem, vamos calcular o salário médio. Para fazer isso, precisamos das funções MIN, MAXe AVG.

A consulta será um pouco mais complexa desta vez e ficará assim:

SELECT MIN(salary), AVG(salary), MAX(salary)
FROM employee

O resultado desta consulta será:

MIN(salário) MÉDIA(salário) MAX(salário)
1000 76833.3333 200000

O salário mínimo em nosso departamento é de US$ 1.000 – muito bom. O salário máximo é de 200 mil, mas esse é o diretor.

Mas o salário médio é muito alto, você precisa otimizar os custos de alguma forma. Vamos contratar outro gato e pronto :)

Comentários
  • Populares
  • Novas
  • Antigas
Você precisa acessar para deixar um comentário
Esta página ainda não tem nenhum comentário