miércoles, 25 de mayo de 2016

Funciones de Agregación y Agrupación en MySQL (Maria DB) Parte II - Función MIN() y MAX()

Buenas tardes queridos lectores, primero que nada quiero agradecer a todos los que han compartido mis publicaciones, han dado +1, han comentado o han hecho clic a los anuncios, gracias a ustedes he tenido más visitas y más lectores, lo cual me motiva a seguir escribiendo.

El día de hoy veremos las funciones agregadas MAX() y MIN(), estas funciones son bastante sencillas, espero que no haya ningún problema, pero si lo hay no duden es escribirme y preguntar, pero bien comencemos con lo que nos gusta que es hacer las cosas.

Función MAX()

La primera función que veremos será la función MAX(), está función nos devuelve el valor máximo del campo evaluado, es importante saber que aplica tanto en datos numéricos como en Texto (A-Z)(0-9), pero como la teoría nunca es clara, veamos un ejemplo:

Ejercicio 1
Obtener cual fue el máximo de asistencia en el torneo “Clausura MX 2016” utilizando  función MAX()

select max(asistencia)
from partidos
where idtorneo=11;



Simplemente ejecutando este comando, obtendremos el dato que buscamos, el cual se muestrará la cantidad:

69442,

Sin embargo querido lectores, ya sabemos que en el partido donde hubo mayor asistencia hubo 49442 personas, pero nos interesa más, nos interesa saber por jornada, cual fue la asistencia máxima y obviamente que partido fue, al igual que la fecha, pera eso realizaremos el siguiente ejercicio:

Ejercicio 2:
Obtener la numero máximo de asistentes por jornada, utilizando la función MAX() y la agrupación GROUP BY

select jornada, max(asistencia)
from partidos where idtorneo=11
group by jornada
order by max(asistencia) desc

Al ejecutar la consulta, obtendremos el siguiente resultado:

Como pueden ver, el resultado de la consulta, nos dará la asistencia máxima por jornada, es importante utilizar el agrupador GROUP BY, de lo contrario, en la jornada solo aparecerá el 1, en la clausula ORDER BY, que ya hemos visto anteriormente, le indicaremos que nos ordene de manera descendente el max de asistencia, y es por eso por lo que se ordena de mayor a menor,

Ejercicio 3:

Mostrar cual es el valor máximo del nombre de los torneos dados de alta en la tabla TORNEOS utilizando la función MAX()

select max(nombre) from torneos

Al ejecutar la consulta obtendremos el siguiente resultado:


Como pueden observar e intuir en el resultado la letra U, es la última, y por eso es la mayor de todos los torneos en el campo nombre de la tabla TORNEOS


Funcion MIN()

Esta función nos devuelve el valor mínimo del campo evaluado, es importante saber que aplica tanto en números como en textos (A-Z) (0-9), veamos un ejemplo:

Ejercicio 4:
Obtener la numero máximo de asistentes por jornada, utilizando la función MIN() y la agrupación GROUP BY

select jornada, min(asistencia)
from partidos where idtorneo=11
group by jornada
order by max(asistencia) desc

Si ejecutamos la consulta, obtendremos el siguiente resultado:

Como pueden ver, las funciones MAX() y MIN(), se utilizas exactamente igual, solo que una nos trae el valor máximo y la otra el valor mínimo, les dejaré como ejercicio una consulta bastante compleja, espero la analicen y la entiendan, donde utilizaremos todo lo que hemos visto hasta el momento

Ejercicio 5

Mostrar la fecha, jornada, equipo local equipo visitante, resultado, estadio y asistencia del torneo de “Clausura MX 2016” del partido que tuvo mayor número de asistentes por jornada, utilizando la función MAX(), MIN(), subconsultas y JOINS

select p.fecha, x.jornada, p.equipolocal, p.GolesLocal, p.golesvisitante, p.equipovisitante, x.asistencia, e.nombre
from partidos p
INNER JOIN
(select idtorneo,jornada, max(asistencia) as asistencia
from partidos where idtorneo=11
group by jornada) X
ON X.asistencia = p.asistencia and p.jornada=x.jornada
INNER JOIN ESTADIOs e on e.idestadio = p.idestadio
group by p.jornada

El resultado de la consulta aparece en la siguiente imagen, les invito a que lo analicen.


Espero sus comentarios, espero den +1, compartan, o den clic en algún anuncio que aparece en la página.

Espero este post haya sido de su utilidad, en el próximo post les mostraré el uso de la función SUM(),
muchas gracias

Hasta pronto



Banderas de Visitantes

Flag Counter