Hallar el registro con el Valor máximo o mínimo en un campo.
La diferencia entre MAX y LIMIT ; LIMIT me permite sacarlo solamente de la tabla completa y MAX me permite jugar con diversos grupos, agregar más criterios. Me deja meterlos en bolsas y luego usar el MAX.
ORDER BY / LIMIT Todos los Registros
SELECT fecha_incorporacion
FROM platzi.alumnos
ORDER BY fecha_incorporacion DESC
LIMIT 1;
SELECT carrera_id, fecha_incorporacion
FROM platzi.alumnos
GROUP BY carrera_id, fecha_incorporacion
ORDER BY fecha_incorporacion DESC;
MAX
SELECT carrera_id,
MAX (fecha_incorporacion)
FROM platzi.alumnos
GROUP BY carrera_id
ORDER BY carrera_id;
En este caso Limit ya no funciona tan bien.
Este Query me trae todos los registros, no me va a filtrar nada, porque la fecha de incorporación tiene hasta segundos.
Podríamos extraer el año, mes, día y podemos agruparlos poco a poco, pero eso puede ser muy complejo para lo que se necesita.
Si queremos hallar Máximos por Grupo debemos usar la Función MAX.
Cada carrera tiene la fecha más actual de cuando un alumno se incorporó a ella, y de esa manera podemos extraer la fecha de incorporación más reciente.
SELECT MIN(nombre)
FROM platzi.alumnos;
SELECT nombre
FROM platzi.alumnos
ORDER BY nombre ASC
LIMIT 1;
SELECT tutor_id,
MIN(nombre)
FROM platzi.alumnos
GROUP BY tutor_id
ORDER BY tutor_id ASC;