sql >> Base de Datos >  >> RDS >> MariaDB

Función MIN() en MariaDB

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.