PostgreSQL AVG
La función `AVG` de PostgreSQL es una función matemática que sirve para calcular el valor medio de un conjunto de números. Se utiliza habitualmente en consultas SQL para obtener el valor medio de una columna de datos numéricos.
Utilización
La función `AVG` se utiliza cuando necesitas hallar la media de una columna concreta de una tabla de una base de datos. Suele aplicarse en consultas agregadas para el análisis de datos.
SELECT AVG(column_name)
FROM table_name
[WHERE condition];
En esta sintaxis, `AVG(nombre_columna)` calcula la media de la columna especificada, opcionalmente filtrada por una condición `WHERE`. La cláusula `HAVING` también se puede utilizar después de `GROUP BY` para filtrar resultados agrupados.
Ejemplos
1. Cálculo de la media básica
SELECT AVG(salary)
FROM employees;
Este ejemplo calcula el salario medio a partir de la tabla `empleados`.
2. Media con una condición
SELECT AVG(salary)
FROM employees
WHERE department = 'Sales';
Aquí, el salario medio se calcula sólo para los empleados del departamento "Ventas".
3. Media con agrupación
SELECT department, AVG(salary)
FROM employees
GROUP BY department;
Este ejemplo calcula el salario medio de cada departamento, agrupando los resultados por la columna departamento.
4. Manipulación de precisión con fundición
SELECT AVG(salary::numeric)
FROM employees;
En este ejemplo, la columna "salario" se convierte a un tipo "numérico" para mejorar la precisión en el cálculo de la media.
Consejos y buenas prácticas
- Maneja los valores NULL. La función `AVG` ignora automáticamente los valores `NULL`, asegurándose de que no afectan al cálculo.
- Utilízalo con GROUP BY. Combina `AVG` con `GROUP BY` para obtener medias por categorías o grupos, como departamentos o regiones.
- Fundición de precisión. Considera la posibilidad de convertir tu columna en un tipo `numérico` si necesitas más precisión en tus cálculos de promedios, como se muestra en el ejemplo anterior.
- Combínalo con otras funciones. Utiliza `AVG` junto con otras funciones de agregación como `SUMA` o `CONTAR` para un análisis exhaustivo de los datos.
- Consideraciones sobre el rendimiento. Cuando utilices la función `AVG` en grandes conjuntos de datos, ten en cuenta las estrategias de indexación para mejorar el rendimiento de la consulta.
- Consideraciones sobre los tipos de datos. La función `AVG` devuelve un tipo de precisión `doble`, que debe tenerse en cuenta al manejar el tipo de datos del resultado.