Agregados

Las funciones de agregación (también conocidas como agregados o funciones agregadas) son aquellas que operan sobre una serie de valores pero devuelven un único valor. Con la excepción de COUNT ignoran los valores nulos. Se suelen utilizar con agrupamientos (que veremos en breve). Sólo pueden encontrarse este tipo de funciones en las siguientes cláusulas:

  • En la lista de campos de una SELECT.
  • Como parte de la condición de un HAVING. Esta cláusula la estudiaremos con más detalle en las siguientes lecciones.

Estas funciones, por tanto, devuelven un único valor obtenido a partir de varios registros:

AVG
Utilizada para calcular el promedio de los valores de un campo determinado.
Las funciones de agregación (también conocidas como agregados o funciones agregadas) son aquellas que operan sobre una serie de valores pero devuelven un único valor. Con la excepción de COUNT ignoran los valores nulos. Se suelen utilizar con agrupamientos (que veremos en breve). Sólo pueden encontrarse este tipo de funciones en las siguientes cláusulas:

  • En la lista de campos de una SELECT.
  • Como parte de la condición de un HAVING. Esta cláusula la estudiaremos con más detalle en las siguientes lecciones.

Estas funciones, por tanto, devuelven un único valor obtenido a partir de varios registros:

AVG
Utilizada para calcular el promedio de los valores de un campo determinado.
COUNT
Utilizada para devolver el número de registros de la selección.
SUM
Utilizada para devolver la suma de todos los valores de un campo determinado.
MAX
Utilizada para devolver el valor más alto de un campo especificado.
MIN
Utilizada para devolver el valor más bajo de un campo especificado.
STD o STDDEV
Utilizadas para devolver la desviación estándar de un campo especificado.
Utilizada para devolver el número de registros de la selección.
SUM
Utilizada para devolver la suma de todos los valores de un campo determinado.
MAX
Utilizada para devolver el valor más alto de un campo especificado.
MIN
Utilizada para devolver el valor más bajo de un campo especificado.
STD o STDDEV
Utilizadas para devolver la desviación estándar de un campo especificado.

La función COUNT devuelve el número de filas en la consulta. Cuenta el número de filas para un campo.

Sintaxis:

COUNT (campo)

Consideraciones:

  • A la función COUNT se la puede dar un campo específico o también se puede poner el comodín *, porque las filas, en casi todos los casos, van a ser las mismas. Además, si se realiza un COUNT(*) sobre una sola tabla y sin cláusula WHERE, MySQL está optimizado para dar la respuesta muy rápidamente.
  • Si se pone un campo específico, COUNT no tiene en cuenta los valores NULL, pero si lo hará si se pone el comodín *
  • Cuenta también los valores repetidos, por lo que para evitarlo hay que escribir COUNT(DISTINCT campo).

Ejemplo 1:

Averiguamos el número de empleados con comisión.

SELECT COUNT(comision) AS comisionados
FROM empleados;

Ejemplo 2:

Contar el número de empleados dados de alta en la tabla.

SELECT COUNT(codigo) AS total
FROM empleados;

La función SUM suma todos los valores de todas las filas de un campo.

Sintaxis:

SUM (campo)

Consideraciones:

  • En vez de un campo puede ser una expresión que realiza un cálculo entre los datos de los campos.
  • También puede ser una constante o una función.
  • Si la expresión o el campo no tiene filas seleccionadas, devolverá NULL.

Ejemplo 3:

Calcular todo el dinero que gasta la empresa en salarios

SELECT SUM(salario) AS "Gasto inmenso"
FROM empleados;

Ejemplo 4:

Seleccionar todo el dinero que cobran los empleados, incluyendo comisiones

SELECT SUM(salario) + SUM(comision)
FROM empleados;

Hay que indicar que SUM(salario+comision) no devolvería el mismo valor, debido a que sólo seleccionaría aquellos registros que tienen tanto salario como comisión, y no sumaría los que tienen sólo salario, que son la mayoría.

La función MAX devuelve el valor máximo de un conjunto de valores contenidos en un campo.

Sintaxis:

MAX (campo)

Ejemplo 5:

Seleccionar el mayor salario de los empleados

SELECT MAX(salario) AS ricachón
FROM empleados;

La función MIN devuelve el valor mínimo de un conjunto de valores contenidos en un campo.

Sintaxis:

MIN (campo);

Ejemplo 6:

Seleccionar la edad mínima de los empleados

SELECT MIN(salario) AS pobretón
FROM empleados;

La función AVG devuelve la media (o promedio) de un campo o expresión.

Sintaxis:

AVG (campo)

Consideraciones:

  • AVG devuelve la media aritmética, es decir, la suma de los valores dividido por el número de valores.
  • No tiene en cuenta los valores NULL.

Ejemplo 7:

Averigua el salario medio de los empleados.

SELECT AVG (salario) AS "Sueldo medio"
FROM empleados;

La función STD devuelve la desviación estándar de un campo o expresión. El sinónimo STDDEV se incluye por compatibilidad con Oracle.

Sintaxis:

STD (campo)

Si la consulta devuelve NULL, significa que contiene menos registros de los necesarios para poder calcular la desviación estándar.

Ejemplo 8:

Calcular la desviación estándar de los precios de los productos.

SELECT STD(precio) AS desviación
FROM Productos;

« MySQL 4 | Consulta de datos avanzada

Si no se indica lo contrario, el contenido de esta página se ofrece bajo Creative Commons Attribution-ShareAlike 3.0 License