Como calcular a média de valores agrupados no SQL?

Podemos calcular a média de valores agrupados no SQL utilizando a função AVG() junto com GROUP BY para segmentar os dados.

Como calcular a média de valores agrupados no SQL?

No SQL, a função AVG() permite calcular a média de valores dentro de grupos, quando combinada com GROUP BY. Isso é útil para analisar dados financeiros, desempenho de produtos, entre outros cenários.

Calculando a média de preços por categoria

Se quisermos calcular o preço médio dos produtos em cada categoria:

SELECT categoria, AVG(preco) AS preco_medio 
FROM produtos 
GROUP BY categoria;

Isso retorna a média dos preços para cada categoria de produtos.

Calculando a média de pedidos por cliente

Se quisermos saber o valor médio gasto por cliente em pedidos:

SELECT cliente_id, AVG(valor) AS media_pedidos 
FROM pedidos 
GROUP BY cliente_id;

Aqui, calculamos o valor médio dos pedidos por cliente.

Filtrando grupos com HAVING

Podemos utilizar HAVING para exibir apenas grupos cuja média esteja acima de um determinado valor:

SELECT cliente_id, AVG(valor) AS media_pedidos 
FROM pedidos 
GROUP BY cliente_id 
HAVING AVG(valor) > 100;

Essa consulta retorna apenas os clientes cujo valor médio dos pedidos seja maior que 100.

Cuidados ao calcular a média de valores agrupados

  • AVG() ignora valores NULL automaticamente, o que pode afetar a precisão da média.
  • Para incluir apenas registros válidos, utilize WHERE antes do GROUP BY.
  • HAVING deve ser usado para filtrar grupos após a agregação.

O cálculo da média de valores no SQL é amplamente utilizado em relatórios financeiros, monitoramento de desempenho e estatísticas de negócios. Em um e-commerce, podemos calcular o preço médio dos produtos em cada categoria. No setor educacional, podemos calcular a média de notas dos alunos por turma. O uso correto da função AVG() com GROUP BY ajuda a consolidar informações e a tomar decisões estratégicas baseadas em dados.

Algumas aplicações:

  • Calcular a média de preços por categoria de produtos
  • Determinar a média de gastos por cliente
  • Obter a média de notas dos alunos por turma
  • Gerar relatórios de faturamento médio por mês
  • Analisar a média de avaliações de produtos em um marketplace

Dicas para quem está começando

  • Use AVG(coluna) para calcular a média dos valores
  • Combine AVG() com GROUP BY para segmentar os dados
  • Se precisar filtrar a média após o agrupamento, utilize HAVING
  • Certifique-se de que a coluna analisada não contém valores NULL inesperados
  • Se quiser visualizar os dados ordenados, utilize ORDER BY AVG(coluna)

Contribuições de Rodrigo Martins

Compartilhe este tutorial: Como calcular a média de valores agrupados no SQL?

Compartilhe este tutorial

Continue aprendendo:

Como contar quantos registros existem em cada grupo?

Podemos contar registros dentro de cada grupo no SQL utilizando COUNT() junto com GROUP BY para segmentar os dados.

Tutorial anterior

Como fazer subconsultas dentro de SELECT?

Subconsultas dentro de SELECT no SQL permitem recuperar informações dinamicamente em tempo de execução, trazendo mais flexibilidade para consultas.

Próximo tutorial