Escolar Documentos
Profissional Documentos
Cultura Documentos
Exemplo:
FUNÇÕES DE AGREGAÇÃO
Uma função de agregação processa um conjunto de valores contidos em uma única coluna
de uma tabela e retorna um único valor como resultado. Sua sintaxe é semelhante a aquela
encontrada em muitas linguagens de programação. Contudo, o parâmetro informado é sempre a
coluna cujos valores desejamos processar.
Existem diversas funções de grupo que são implementadas pelo padrão SQL:
FUNÇÃO DESCRIÇÃO
COUNT() Retorna o numero de linhas afetadas
SUM() Retorna o somatório
AVG() Retorna a média aritmética
MIN() Retorna o menor valor
MAX() Retorna o maior valor
FUNÇÃO DE AGRUPAMENTO
As funções de agregação, em SQL, podem ser utilizadas com a instrução GROUP BY para
agruparmos seus resultados.
Sintaxe:
Exemplo:
ENTIDADE: COMPRA
CODIGO CLIENTE VALOR DATA_COMPRA
1 Camila 245.24 2020/05/10
2 Pedro 137.56 2020/05/25
3 Camila 89.39 2020/05/29
4 Pedro 189.30 2020/06/02
5 Pedro 259.60 2020/06/06
6 João 219.86 2020/06/07
Percebemos então que o GROUP BY deve ser utilizado sempre que queremos utilizar uma
função de agregação para trazer um valor (no exemplo, a coluna valor) com alguma outra coluna
onde não efetuamos nenhuma operação (no exemplo, a coluna cliente).
Portanto, o GROUP BY permite que você pegue seu conjunto de resultados, agrupe-o em
grupos lógicos e, em seguida, execute consultas agregadas nesses grupos. Você poderia, por
exemplo, selecionar todos os funcionários, agrupá-los por local de trabalho e calcular o salário
médio de todos os funcionários de cada local de trabalho.
A cláusula GROUP BY pode ser empregada, entre outras finalidades, para agrupar os
produtos de acordo com cada tipo existente, portanto, podemos usar a cláusula HAVING em
conjunto com GROUP BY para filtrar os resultados que serão submetidos a agregação. Dentro de
cada um dos grupos, a cláusula HAVING pode ser usada para restringir apenas os registros que
possuem o valor da compra superior a 250 reais, por exemplo.
Para fazermos o filtro conforme especificado acima, devemos usar a seguinte instrução: