Tutorial de Funciones Agregadas de MySQL: SUMA, AVG, MAX, MIN, COUNT, DISTINCT

 

Las funciones agregadas se tratan

  • Realizar cálculos en múltiples filas
  • De una sola columna de una tabla
  • Y devolviendo un solo valor.

La norma ISO define cinco (5) funciones agregadas, a saber;

1) COUNT
2) SUM
3) AVG
4) MIN
5) MAX

Por qué usar funciones agregadas

Desde una perspectiva empresarial, los diferentes niveles de organización tienen diferentes requisitos de información. Los gerentes de nivel superior generalmente están interesados ​​en conocer cifras completas y no necesariamente los detalles individuales.

> Las funciones agregadas nos permiten producir fácilmente datos resumidos de nuestra base de datos.

Por ejemplo, desde nuestra base de datos myflix, la administración puede requerir los siguientes informes

  • Menos películas alquiladas.
  • La mayoría de las películas alquiladas.
  • Número promedio que cada película se alquila en un mes.

Producimos fácilmente los informes anteriores utilizando funciones agregadas.

Veamos las funciones agregadas en detalle.

COUNT función

La función COUNT devuelve el número total de valores en el campo especificado. Funciona tanto en tipos de datos numéricos como no numéricos. Todas las funciones agregadas por defecto excluyen valores nulos antes de trabajar en los datos.

COUNT (*) es una implementación especial de la función COUNT que devuelve el recuento de todas las filas en una tabla especificada. COUNT (*) también considera nulos y duplicados.

La tabla que se muestra a continuación muestra los datos en la tabla movierentals

número de referencia Fecha de Transacción Fecha de regreso número de socio movie_id movie_ returned
11 20-06-2012 NULO 1 1 0
12 22-06-2012 25-06-2012 1 2 0
13 22-06-2012 25-06-2012 3 2 0
14 21-06-2012 24-06-2012 2 2 0
15 23-06-2012 NULO 3 3 0

Supongamos que queremos obtener el número de veces que la película con ID 2 se ha alquilado

Ejecutar la consulta anterior en MySQL workbench contra myflixdb nos da los siguientes resultados.

COUNT (‘movie_id’)
3

Palabra clave DISTINCT

La palabra clave DISTINCT que nos permite omitir los duplicados de nuestros resultados. Esto se logra agrupando valores similares juntos.

Para apreciar el concepto de Distinct, vamos a ejecutar una consulta simple

movie_id
1
2
2
2
3

Ahora ejecutemos la misma consulta con la palabra clave distinct –

Como se muestra a continuación, distinct omite registros duplicados de los resultados.

movie_id
1
2
3

Función MIN

La función MIN devuelve el valor más pequeño en el campo de tabla especificado .

Como ejemplo, supongamos que queremos saber el año en el que se lanzó la película más antigua de nuestra biblioteca, podemos usar la función MIN de MySQL para obtener la información deseada.

La siguiente consulta nos ayuda a lograr eso

Ejecutar la consulta anterior en MySQL workbench contra myflixdb nos da los siguientes resultados.

MIN (‘año liberado’)
2005

Función MAX

Tal como su nombre lo sugiere, la función MAX es lo opuesto a la función MIN. Se devuelve el valor más grande desde el campo de la tabla especificada .

Supongamos que queremos obtener el año en que se lanzó la última película en nuestra base de datos. Podemos usar fácilmente la función MAX para lograr eso.

El siguiente ejemplo devuelve el último año de la película publicado.

Ejecutar la consulta anterior en MySQL workbench utilizando myflixdb nos da los siguientes resultados.

MAX (‘year_released’)
2012

Función SUMA

Supongamos que queremos un informe que dé la cantidad total de pagos realizados hasta el momento. Podemos usar la función SUMA de MySQL que devuelve la suma de todos los valores en la columna especificada . SUM funciona solo en campos numéricos . Los valores nulos se excluyen del resultado devuelto.

La siguiente tabla muestra los datos en la tabla de pagos-

ID de pago número de socio fecha de pago descripción cantidad pagada número de referencia_externo
1 1 23-07-2012 Pago de alquiler de película 2500 11
2 1 25-07-2012 Pago de alquiler de película 2000 12
3 3 30-07-2012 Pago de alquiler de película 6000 NULO

La consulta que se muestra a continuación obtiene todos los pagos realizados y los resume para devolver un único resultado.

Ejecutar la consulta anterior en MySQL workbench contra myflixdb da los siguientes resultados.

SUM (‘amount_paid’)
10500

Función AVG

La función de MySQL AVG devuelve el promedio de los valores en una columna especificada . Al igual que la función SUMA, funciona solo en tipos de datos numéricos .

Supongamos que queremos encontrar el monto promedio pagado. Podemos usar la siguiente consulta:

Ejecutando la consulta anterior en MySQL workbench, nos da los siguientes resultados.

AVG (‘amount_paid’)
3500

Resumen

  • MySQL admite todas las cinco (5) funciones agregadas estándar ISO COUNT, SUM, AVG, MIN y MAX.
  • Las funciones SUM y AVG solo funcionan en datos numéricos.
  • Si desea excluir valores duplicados de los resultados de la función agregada, use la palabra clave DISTINCT. La palabra clave ALL incluye incluso duplicados. Si no se especifica nada, se asume que ALL es el valor predeterminado.
  • Las funciones agregadas se pueden usar junto con otras cláusulas SQL como GROUP BY

Brain Teaser

Cree que las funciones agregadas son fáciles. ¡Prueba esto!

El siguiente ejemplo agrupa a los miembros por nombre, cuenta el número total de pagos, el monto promedio de pago y el total general de los montos de pago.

Ejecutar el ejemplo anterior en MySQL workbench nos da los siguientes resultados.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *