In MariaDB, MAX() è una funzione aggregata che restituisce il valore massimo in una determinata espressione.
Sintassi
La sintassi è questa:
MAX([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 massimo da quella tabella.
SELECT MAX(ProductPrice)
FROM Products; Risultato:
245.00
In questo caso, le informazioni sul prezzo sono memorizzate nel ProductPrice colonna, e quindi lo passiamo come argomento a MAX() funzione, che quindi calcola e restituisce il risultato.
Risultati filtrati
Il MAX() La funzione opera sulle righe restituite dalla query. Quindi, se filtri i risultati, il risultato di MAX() lo rifletterà.
SELECT MAX(ProductPrice)
FROM Products
WHERE VendorId = 1001; Risultato:
25.99
In questo caso, 25,99 è il prezzo massimo tra tutti i prodotti offerti dal fornitore specificato.
Dati data/ora
Puoi usare MAX() 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 MAX() per trovare la data massima di nascita (DOB ).
SELECT MAX(DOB)
FROM Pets; Risultato:
2020-11-28
Questa sarebbe la data di nascita dell'animale più giovane.
NULL Valori
Il MAX() la funzione ignora qualsiasi NULL valori. Nella nostra tabella di esempio sopra, le ultime due righe hanno NULL valori nel loro DOB colonna, ma è stata ignorata nel nostro MAX() esempio.
Dati sui personaggi
Se utilizzato con colonne di dati carattere, MAX() trova il valore più alto nella sequenza di confronto.
Esempio:
SELECT MAX(ProductName)
FROM Products; Risultato:
Straw Dog Box
Il DISTINCT Parola chiave
Il DISTINCT la parola chiave può essere utilizzata con MAX() 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 MAX(DISTINCT ProductPrice)
FROM Products; Risultato:
245.00
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 MAX() . Il DISTINCT la parola chiave rimuove i duplicati, ma nel caso di MAX() non farà alcuna differenza perché MAX() restituisce lo stesso risultato indipendentemente dal numero di righe che condividono lo stesso valore massimo.
Funzioni della finestra
Il MAX() la funzione può essere utilizzata insieme a OVER clausola per creare una funzione finestra.
Vedi SQL MAX() Per i principianti per un esempio.