As funções de agrupamento e agregação são muito úteis para realizar cálculos em conjunto com funções que agrupam os resultados por valores específicos.
As principais funções de agrupamento são:
- GROUP BY: usada para agrupar resultados com base em uma ou mais colunas
- HAVING: usada para filtrar resultados que atendem a uma determinada condição após o GROUP BY
As principais funções de agregação são:
- COUNT: retorna o número de linhas de uma tabela ou o número de linhas que atendem a uma determinada condição
- SUM: retorna a soma dos valores de uma coluna numérica
- AVG: retorna a média dos valores de uma coluna numérica
- MAX: retorna o valor máximo de uma coluna
- MIN: retorna o valor mínimo de uma coluna
Aqui está um exemplo de uso dessas funções:
Suponha que temos uma tabela "vendas" com as colunas "produto", "quantidade" e "preco_unitario". Queremos obter o total vendido por produto e filtrar apenas os resultados que tiveram vendas acima de 100 unidades.
sqlSELECT produto, SUM(quantidade * preco_unitario) AS total_vendido
FROM vendas
GROUP BY produto
HAVING total_vendido > 10000;
Neste exemplo, usamos a função SUM para calcular o total vendido por produto, agrupamos os resultados por produto usando GROUP BY e filtramos apenas os resultados cujo total vendido é maior que 10000 usando HAVING.