In MariaDB, MIN()
è una funzione aggregata che restituisce il valore minimo in una determinata espressione.
Sintassi
La sintassi è questa:
MIN([DISTINCT] expr)
Dati di esempio
Supponiamo di avere una tabella con i seguenti dati:
SELECT
VendorId,
ProductName,
ProductPrice
FROM Products;
Risultato:
+----------+---------------------------------+--------------+ | 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 | +----------+---------------------------------+--------------+
Esempio
Possiamo usare la seguente query per ottenere il prezzo minimo da quella tabella.
SELECT MIN(ProductPrice)
FROM Products;
Risultato:
9.99
In questo caso, le informazioni sul prezzo sono memorizzate nel ProductPrice
colonna, e quindi lo passiamo come argomento a MIN()
funzione, che quindi calcola e restituisce il risultato.
Risultati filtrati
Il MIN()
La funzione opera sulle righe restituite dalla query. Quindi, se filtri i risultati, l'output di MIN()
lo rifletterà.
SELECT MIN(ProductPrice)
FROM Products
WHERE VendorId = 1001;
Risultato:
11.99
In questo caso, 11,99 è il prezzo minimo di tutti i prodotti offerti dal fornitore specificato.
Dati data/ora
Puoi usare MIN()
sui valori di data/ora.
Supponiamo di avere la seguente tabella:
SELECT PetName, DOB
FROM Pets;
Risultato:
+---------+------------+ | 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 | +---------+------------+
Possiamo usare MIN()
per trovare la data minima di nascita (DOB
).
SELECT MIN(DOB)
FROM Pets;
Risultato:
2018-10-01
Questa sarebbe la data di nascita dell'animale più vecchio.
NULL
Valori
Il MIN()
la funzione ignora qualsiasi NULL
valori. Nella nostra tabella di esempio sopra, le ultime due righe contengono NULL
valori nel loro DOB
colonna, ma sono stati ignorati nel nostro MIN()
esempio.
Dati sui personaggi
Se utilizzato con colonne di dati carattere, MIN()
trova il valore più basso nella sequenza di confronto.
Esempio:
SELECT MIN(ProductName)
FROM Products;
Risultato:
Bottomless Coffee Mugs (4 Pack)
Il DISTINCT
Parola chiave
Il DISTINCT
la parola chiave può essere utilizzata con MIN()
funzione, tuttavia, questo produce lo stesso risultato dell'omissione di DISTINCT
. Consentire il DISTINCT
la funzione consente a MariaDB di conformarsi allo standard ISO SQL.
Pertanto, possiamo farlo:
SELECT MIN(DISTINCT ProductPrice)
FROM Products;
Risultato:
9.99
Ma non ha alcun impatto sui risultati.
Il DISTINCT
la parola chiave può essere molto utile se utilizzata con altri contesti (ad es. con COUNT()
funzione), ma non ha significato se usato con MIN()
. Il DISTINCT
la parola chiave rimuove i duplicati, ma nel caso di MIN()
non farà alcuna differenza perché MIN()
restituisce lo stesso risultato indipendentemente dal numero di righe che condividono lo stesso valore minimo.
Funzioni della finestra
Il MIN()
può essere utilizzata insieme a OVER
clausola per creare una funzione finestra.
Vedi SQL MIN()
Per i principianti per un esempio.