En MariaDB, MIN()
es una función agregada que devuelve el valor mínimo en una expresión dada.
Sintaxis
La sintaxis es así:
MIN([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ínimo de esa tabla.
SELECT MIN(ProductPrice)
FROM Products;
Resultado:
9.99
En este caso, la información de precios se almacena en el ProductPrice
columna, y así lo pasamos como un argumento al MIN()
función, que luego calcula y devuelve el resultado.
Resultados filtrados
El MIN()
opera en las filas devueltas por la consulta. Entonces, si filtra los resultados, la salida de MIN()
reflejará eso.
SELECT MIN(ProductPrice)
FROM Products
WHERE VendorId = 1001;
Resultado:
11.99
En este caso, 11,99 es el precio mínimo de todos los productos ofrecidos por el proveedor especificado.
Datos de fecha/hora
Puedes usar MIN()
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 MIN()
para encontrar la fecha mínima de nacimiento (DOB
).
SELECT MIN(DOB)
FROM Pets;
Resultado:
2018-10-01
Esta sería la fecha de nacimiento de la mascota más antigua.
NULL
Valores
El MIN()
la función ignora cualquier NULL
valores. En nuestra tabla de ejemplo anterior, las dos últimas filas contienen NULL
valores en su DOB
columna, pero fueron ignorados en nuestro MIN()
ejemplo.
Datos del personaje
Cuando se usa con columnas de datos de caracteres, MIN()
encuentra el valor más bajo en la secuencia de clasificación.
Ejemplo:
SELECT MIN(ProductName)
FROM Products;
Resultado:
Bottomless Coffee Mugs (4 Pack)
El DISTINCT
Palabra clave
El DISTINCT
La palabra clave se puede usar con MIN()
sin embargo, esto produce el mismo resultado que omitir DISTINCT
. Permitiendo el DISTINCT
La función permite que MariaDB cumpla con el estándar ISO SQL.
Por lo tanto, podemos hacer esto:
SELECT MIN(DISTINCT ProductPrice)
FROM Products;
Resultado:
9.99
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 MIN()
. El DISTINCT
palabra clave elimina los duplicados, pero en el caso de MIN()
no hará ninguna diferencia porque MIN()
devuelve el mismo resultado independientemente de cuántas filas compartan el mismo valor mínimo.
Funciones de ventana
El MIN()
La función se puede usar junto con OVER
cláusula para crear una función de ventana.
Ver SQL MIN()
Para principiantes, por ejemplo.