Função MySQL AVG()
A função `AVG()` do MySQL é usada para calcular o valor médio de uma coluna numérica. É particularmente útil para a análise estatística de dados em um banco de dados.
Uso
A função `AVG()` é normalmente usada em instruções `SELECT` para determinar o valor médio de um determinado conjunto de dados. Ele pode ser aplicado a qualquer coluna que contenha dados numéricos.
sql
SELECT AVG(column_name)
FROM table_name
[WHERE condition];
Nessa sintaxe, `AVG(nome_da_coluna)` calcula a média dos valores da coluna especificada.
Exemplos
1. Cálculo da média básica
sql
SELECT AVG(salary)
FROM employees;
Esse exemplo calcula o salário médio da tabela "Funcionários", fornecendo informações sobre as tendências de remuneração.
2. Média com uma condição
sql
SELECT AVG(age)
FROM customers
WHERE country = 'USA';
Aqui, a função `AVG()` calcula a idade média dos clientes que residem nos EUA, demonstrando a agregação condicional.
3. Média com agrupamento
sql
SELECT department_id, AVG(salary)
FROM employees
GROUP BY department_id;
Esse exemplo calcula o salário médio de cada departamento, utilizando a cláusula `GROUP BY` para segmentar os dados por departamento.
Dicas e práticas recomendadas
- Manipular valores NULL. Por padrão, `AVG()` ignora os valores `NULL`; considere o uso de `COALESCE()` se necessário para casos específicos.
- Use com colunas numéricas. Certifique-se de que a coluna passada para `AVG()` contenha dados numéricos para evitar erros.
- Precisão do tipo de dados. Esteja ciente de que `AVG()` em colunas de números inteiros pode resultar em divisão de números inteiros, o que pode causar perda de precisão. O uso de colunas decimais ou de ponto flutuante pode ajudar a manter a precisão.
- Combine com `GROUP BY`. Use `GROUP BY` para calcular médias de subgrupos dentro dos dados, fornecendo informações mais detalhadas.
- Otimize o desempenho. Para grandes conjuntos de dados, garanta que os índices sejam usados adequadamente para melhorar o desempenho da consulta. Considere o particionamento de dados ou o uso de tabelas de resumo ao lidar com conjuntos de dados muito grandes para melhorar ainda mais o desempenho.