Función MySQL AVG()
La función `AVG()` de MySQL se utiliza para calcular el valor medio de una columna numérica. Es especialmente útil para el análisis estadístico de los datos de una base de datos.
Utilización
La función `AVG()` se suele utilizar en las sentencias `SELECT` para determinar el valor medio de un determinado conjunto de datos. Puede aplicarse a cualquier columna que contenga datos numéricos.
sql
SELECT AVG(column_name)
FROM table_name
[WHERE condition];
En esta sintaxis, `AVG(nombre_columna)` calcula la media de los valores de la columna especificada.
Ejemplos
1. Cálculo de la media básica
sql
SELECT AVG(salary)
FROM employees;
Este ejemplo calcula el salario medio a partir de la tabla `empleados`, proporcionando información sobre las tendencias retributivas.
2. Media con una condición
sql
SELECT AVG(age)
FROM customers
WHERE country = 'USA';
Aquí, la función `AVG()` calcula la edad media de los clientes que residen en EEUU, demostrando la agregación condicional.
3. Media con agrupación
sql
SELECT department_id, AVG(salary)
FROM employees
GROUP BY department_id;
Este ejemplo calcula el salario medio de cada departamento, utilizando la cláusula `GROUP BY` para segmentar los datos por departamentos.
Consejos y buenas prácticas
- Maneja los valores NULL. Por defecto, `AVG()` ignora los valores `NULL`; plantéate utilizar `COALESCE()` si es necesario para casos concretos.
- Utilízalo con columnas numéricas. Asegúrate de que la columna pasada a `AVG()` contiene datos numéricos para evitar errores.
- Precisión del tipo de datos. Ten en cuenta que `AVG()` en columnas enteras puede provocar una división entera, perdiendo potencialmente precisión. Utilizar columnas decimales o de coma flotante puede ayudar a mantener la precisión.
- Combínalo con `GRUPO POR`. Utiliza `GRUPO POR` para calcular medias de subgrupos dentro de los datos, proporcionando una visión más granular.
- Optimiza el rendimiento. Para grandes conjuntos de datos, asegúrate de que los índices se utilizan adecuadamente para mejorar el rendimiento de las consultas. Considera la posibilidad de particionar los datos o de utilizar tablas resumen cuando se trate de conjuntos de datos muy grandes para mejorar aún más el rendimiento.