PostgreSQL AVG
A função `AVG` no PostgreSQL é uma função matemática utilizada para calcular o valor médio de um conjunto de números. É comumente utilizado em consultas SQL para derivar o valor médio de uma coluna de dados numéricos.
Uso
A função `AVG` é usada quando você precisa encontrar a média de uma coluna específica em uma tabela de banco de dados. Ele é frequentemente aplicado em consultas agregadas para análise de dados.
SELECT AVG(column_name)
FROM table_name
[WHERE condition];
Nessa sintaxe, `AVG(nome_da_coluna)` calcula a média da coluna especificada, opcionalmente filtrada por uma condição `WHERE`. A cláusula `HAVING` também pode ser usada após `GROUP BY` para filtrar resultados agrupados.
Exemplos
1. Cálculo da média básica
SELECT AVG(salary)
FROM employees;
Este exemplo calcula o salário médio da tabela "Funcionários".
2. Média com uma condição
SELECT AVG(salary)
FROM employees
WHERE department = 'Sales';
Aqui, o salário médio é calculado somente para os funcionários do departamento de "Vendas".
3. Média com agrupamento
SELECT department, AVG(salary)
FROM employees
GROUP BY department;
Este exemplo calcula o salário médio de cada departamento, agrupando os resultados pela coluna do departamento.
4. Manuseio de precisão com fundição
SELECT AVG(salary::numeric)
FROM employees;
Nesse exemplo, a coluna `salário` é convertida em um tipo `numérico` para aumentar a precisão do cálculo da média.
Dicas e práticas recomendadas
- Manipular valores NULL. A função `AVG` ignora automaticamente os valores `NULL`, garantindo que eles não afetem o cálculo.
- Use com GROUP BY. Combine `AVG` com `GROUP BY` para obter médias de categorias ou grupos, como departamentos ou regiões.
- Fundição para precisão. Considere converter sua coluna em um tipo `numérico` se você precisar de mais precisão em seus cálculos de média, conforme mostrado no exemplo acima.
- Combine com outras funções. Use `AVG` juntamente com outras funções de agregação, como `SUM` ou `COUNT`, para uma análise abrangente dos dados.
- Considerações sobre o desempenho. Ao usar a função `AVG` em grandes conjuntos de dados, considere estratégias de indexação para melhorar o desempenho da consulta.
- Considerações sobre o tipo de dados. A função `AVG` retorna um tipo de `precisão dupla`, que deve ser considerado ao lidar com o tipo de dados do resultado.