In PostgreSQL is de MAX()
functie berekent het maximum van de niet-null invoerwaarden en retourneert het resultaat.
Deze functie kan worden gebruikt voor elk numeriek, tekenreeks-, datum/tijd- of opsommingstype, evenals voor inet
, interval
, money
, oid
, pg_lsn
, tid
, en arrays van elk van deze typen.
Voorbeeld
Hier is een snel voorbeeld om te laten zien hoe het werkt:
SELECT MAX(productprice)
FROM products;
Resultaat:
245.00
In dit geval productprice
is een kolom in de products
tafel.
Om dit wat meer context te geven, is hier een momentopname van de tabel:
+----------+---------------------------------+--------------+ | 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 | +----------+---------------------------------+--------------+
We kunnen de productprice
. zien kolom waarvoor we de maximale waarde in ons voorbeeld hebben gekregen.
Mijn werkelijke tabel bevat meer kolommen, maar dit toont u de kolom en de context binnen de tabel.
NULL
Waarden
De MAX()
functie negeert elke NULL
waarden. In onze voorbeeldtabel hierboven heeft de voorhamer NULL
in zijn productprice
kolom, maar dat werd genegeerd in onze MAX()
voorbeeld.
Gefilterde resultaten
De MAX()
functie werkt op de rijen die door de query worden geretourneerd. Dus als u de resultaten filtert, wordt het resultaat van MAX()
zal dat weerspiegelen.
Laten we de resultaten filteren:
SELECT MAX(productprice)
FROM products
WHERE vendorid = 1001;
Resultaat:
25.99
Datum/tijd-waarden
De MAX()
functie kan worden gebruikt op datetime-waarden:
Stel dat we een tabel hebben met de naam pets
met de volgende gegevens:
+-------+---------+------------+ | 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 | +-------+---------+------------+
We kunnen de maximale waarde halen uit de dob
kolom, zoals deze:
SELECT MAX(dob)
FROM pets;
Resultaat:
2020-11-28
Karaktergegevens
Indien gebruikt met karaktergegevenskolommen, MAX()
vindt de waarde die het hoogst is in de sorteervolgorde.
Voorbeeld:
SELECT MAX(petname)
FROM pets;
Resultaat:
Wag