MariaDB
 sql >> Database >  >> RDS >> MariaDB

MIN() Funzione in MariaDB

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.