En MariaDB, MAX()
es una función agregada que devuelve el valor máximo en una expresión dada.
Sintaxis
La sintaxis es así:
MAX([DISTINCT] expr)
Datos de muestra
Supongamos que tenemos una tabla con los siguientes datos:
SELECT
VendorId,
ProductName,
ProductPrice
FROM Products;
Resultado:
+----------+---------------------------------+--------------+ | VendorId | ProductName | ProductPrice | +----------+---------------------------------+--------------+ | 1001 | Left handed screwdriver | 25.99 | | 1001 | Right handed screwdriver | 25.99 | | 1001 | Long Weight (blue) | 14.75 | | 1001 | Long Weight (green) | 11.99 | | 1002 | Sledge Hammer | 33.49 | | 1003 | Chainsaw | 245.00 | | 1003 | Straw Dog Box | 55.99 | | 1004 | Bottomless Coffee Mugs (4 Pack) | 9.99 | +----------+---------------------------------+--------------+
Ejemplo
Podemos usar la siguiente consulta para obtener el precio máximo de esa tabla.
SELECT MAX(ProductPrice)
FROM Products;
Resultado:
245.00
En este caso, la información de precios se almacena en el ProductPrice
columna, y así lo pasamos como argumento a MAX()
función, que luego calcula y devuelve el resultado.
Resultados filtrados
El MAX()
opera en las filas devueltas por la consulta. Entonces, si filtra los resultados, el resultado de MAX()
reflejará eso.
SELECT MAX(ProductPrice)
FROM Products
WHERE VendorId = 1001;
Resultado:
25.99
En este caso, 25,99 es el precio máximo de todos los productos ofrecidos por el proveedor especificado.
Datos de fecha/hora
Puedes usar MAX()
en valores de fecha/hora.
Supongamos que tenemos la siguiente tabla:
SELECT PetName, DOB
FROM Pets;
Resultado:
+---------+------------+ | PetName | DOB | +---------+------------+ | Fluffy | 2020-11-20 | | Fetch | 2019-08-16 | | Scratch | 2018-10-01 | | Wag | 2020-03-15 | | Tweet | 2020-11-28 | | Fluffy | 2020-09-17 | | Bark | NULL | | Meow | NULL | +---------+------------+
Podemos usar MAX()
para encontrar la fecha máxima de nacimiento (DOB
).
SELECT MAX(DOB)
FROM Pets;
Resultado:
2020-11-28
Esta sería la fecha de nacimiento de la mascota más joven.
NULL
Valores
El MAX()
la función ignora cualquier NULL
valores. En nuestra tabla de ejemplo anterior, las dos últimas filas tienen NULL
valores en su DOB
columna, pero eso fue ignorado en nuestro MAX()
ejemplo.
Datos del personaje
Cuando se usa con columnas de datos de caracteres, MAX()
encuentra el valor más alto en la secuencia de clasificación.
Ejemplo:
SELECT MAX(ProductName)
FROM Products;
Resultado:
Straw Dog Box
El DISTINCT
Palabra clave
El DISTINCT
la palabra clave se puede usar con MAX()
sin embargo, esto produce el mismo resultado que omitir DISTINCT
. Permitiendo el DISTINCT
La función permite a MariaDB cumplir con el estándar ISO SQL.
Por lo tanto, podemos hacer esto:
SELECT MAX(DISTINCT ProductPrice)
FROM Products;
Resultado:
245.00
Pero no tiene impacto en los resultados.
El DISTINCT
La palabra clave puede ser muy útil cuando se usa con otros contextos (por ejemplo, con COUNT()
función), pero no tiene significado cuando se usa con MAX()
. El DISTINCT
palabra clave elimina los duplicados, pero en el caso de MAX()
no hará ninguna diferencia porque MAX()
devuelve el mismo resultado independientemente de cuántas filas compartan el mismo valor máximo.
Funciones de ventana
El MAX()
La función se puede usar junto con OVER
cláusula para crear una función de ventana.
Ver SQL MAX()
Para principiantes, por ejemplo.