Como calcular a média de valores em uma coluna no SQL?
Para calcular a média dos valores de uma coluna numérica no SQL, utilizamos a função AVG(). Essa função retorna o valor médio de todos os registros de uma coluna.
Exemplo básico de uso do AVG
Se tivermos uma tabela pedidos
e quisermos calcular a média dos valores de venda:
SELECT AVG(valor) AS media_vendas FROM pedidos;
Essa consulta retorna o valor médio das vendas registradas na coluna valor
.
Calculando a média com uma condição
Podemos filtrar os registros antes de calcular a média. Por exemplo, para calcular a média apenas dos pedidos concluídos:
SELECT AVG(valor) AS media_vendas FROM pedidos WHERE status = 'concluído';
Aqui, a média será calculada apenas considerando pedidos que tenham o status "concluído".
Média agrupada com GROUP BY
Podemos calcular médias para grupos de registros. Por exemplo, a média de valor por cliente:
SELECT cliente_id, AVG(valor) AS media_gasto FROM pedidos GROUP BY cliente_id;
Essa consulta retorna a média de gastos de cada cliente na tabela pedidos
.
Cuidados ao usar AVG
- NULLs não são incluídos no cálculo da média, então certifique-se de tratar esses valores se necessário.
- Se precisar arredondar o resultado, use
ROUND(AVG(coluna), 2)
para limitar as casas decimais.
Quando usar AVG() para cálculos estatísticos no SQL?
A função AVG()
no SQL é amplamente utilizada para análise estatística e relatórios financeiros. Empresas utilizam essa função para calcular médias de vendas, tempo médio de atendimento ao cliente e até mesmo avaliar a produtividade de funcionários. No entanto, é importante considerar que AVG()
não inclui valores NULL
, o que pode afetar resultados se houver dados ausentes. Em bancos de dados grandes, otimizar consultas de média com índices pode melhorar significativamente o tempo de resposta das consultas.
Algumas aplicações:
- Calcular a média de vendas diárias
- Determinar a média salarial dos funcionários
- Analisar a nota média de avaliações de produtos
- Calcular o tempo médio de resposta em atendimentos
- Gerar relatórios de desempenho financeiro
Dicas para quem está começando
- Use
AVG()
apenas em colunas numéricas - Para evitar distorções, trate valores NULL antes de calcular médias
- Combine
AVG()
comGROUP BY
para médias por categoria - Use
ROUND(AVG(coluna), 2)
para limitar casas decimais - Se precisar de médias ponderadas, combine
SUM()
eCOUNT()
Contribuições de Carla Nunes