I PostgreSQL, MAX()
funktionen beräknar det maximala av de icke-null-ingångsvärden och returnerar resultatet.
Denna funktion kan användas på valfri numerisk, sträng, datum/tid eller enumtyp, såväl som inet
, interval
, money
, oid
, pg_lsn
, tid
, och matriser av någon av dessa typer.
Exempel
Här är ett snabbt exempel för att visa hur det fungerar:
SELECT MAX(productprice)
FROM products;
Resultat:
245.00
I det här fallet, productprice
är en kolumn i products
tabell.
För att ge detta lite mer sammanhang, här är en ögonblicksbild av tabellen:
+----------+---------------------------------+--------------+ | 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 | +----------+---------------------------------+--------------+
Vi kan se productprice
kolumn som vi fick det maximala värdet för i vårt exempel.
Min faktiska tabell innehåller fler kolumner, men det här visar dig kolumnen och dess sammanhang i tabellen.
NULL
Värden
MAX()
funktionen ignorerar någon NULL
värden. I vår exempeltabell ovan har släggan fått NULL
i dess productprice
kolumn, men det ignorerades i vår MAX()
exempel.
Filtrerade resultat
MAX()
funktionen fungerar på raderna som returneras av frågan. Så om du filtrerar resultaten blir resultatet av MAX()
kommer att återspegla det.
Låt oss filtrera resultaten:
SELECT MAX(productprice)
FROM products
WHERE vendorid = 1001;
Resultat:
25.99
Datetime-värden
MAX()
funktionen kan användas på datetime-värden:
Anta att vi har en tabell som heter pets
med följande data:
+-------+---------+------------+ | 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 | +-------+---------+------------+
Vi kan få det maximala värdet från dob
kolumn, så här:
SELECT MAX(dob)
FROM pets;
Resultat:
2020-11-28
Teckendata
När det används med teckendatakolumner, MAX()
hittar det värde som är högst i sorteringssekvensen.
Exempel:
SELECT MAX(petname)
FROM pets;
Resultat:
Wag