In PostgreSQL, il MAX()
La funzione calcola il massimo dei valori di input non nulli e restituisce il risultato.
Questa funzione può essere utilizzata su qualsiasi tipo numerico, stringa, data/ora o enum, nonché su inet
, interval
, money
, oid
, pg_lsn
, tid
e array di uno qualsiasi di questi tipi.
Esempio
Ecco un rapido esempio per dimostrare come funziona:
SELECT MAX(productprice)
FROM products;
Risultato:
245.00
In questo caso, productprice
è una colonna nei products
tavolo.
Per dare un po' più di contesto, ecco un'istantanea della tabella:
+----------+---------------------------------+--------------+ | 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 | NULL | | 1003 | Chainsaw | 245.00 | | 1003 | Straw Dog Box | 55.99 | | 1004 | Bottomless Coffee Mugs (4 Pack) | 9.99 | +----------+---------------------------------+--------------+
Possiamo vedere il productprice
colonna per la quale abbiamo ottenuto il valore massimo nel nostro esempio.
La mia tabella attuale contiene più colonne, ma questa mostra la colonna e il suo contesto all'interno della tabella.
NULL
Valori
Il MAX()
la funzione ignora qualsiasi NULL
valori. Nella nostra tabella di esempio sopra, la mazza ha NULL
nel suo productprice
colonna, ma è stata ignorata nel nostro MAX()
esempio.
Risultati filtrati
Il MAX()
La funzione opera sulle righe restituite dalla query. Quindi, se filtri i risultati, il risultato di MAX()
lo rifletterà.
Filtra i risultati:
SELECT MAX(productprice)
FROM products
WHERE vendorid = 1001;
Risultato:
25.99
Valori di data e ora
Il MAX()
la funzione può essere utilizzata sui valori datetime:
Supponiamo di avere una tabella chiamata pets
con i seguenti dati:
+-------+---------+------------+ | petid | petname | dob | +-------+---------+------------+ | 1 | Fluffy | 2020-11-20 | | 2 | Fetch | 2019-08-16 | | 3 | Scratch | 2018-10-01 | | 4 | Wag | 2020-03-15 | | 5 | Tweet | 2020-11-28 | | 6 | Fluffy | 2020-09-17 | | 7 | Bark | NULL | | 8 | Meow | NULL | +-------+---------+------------+
Possiamo ottenere il valore massimo da dob
colonna, come questa:
SELECT MAX(dob)
FROM pets;
Risultato:
2020-11-28
Dati sui personaggi
Se utilizzato con colonne di dati carattere, MAX()
trova il valore più alto nella sequenza di confronto.
Esempio:
SELECT MAX(petname)
FROM pets;
Risultato:
Wag