Saltar al contenido principal

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.