W PostgreSQL MAX()
funkcja oblicza maksimum niezerowych wartości wejściowych i zwraca wynik.
Ta funkcja może być używana na dowolnym typie liczbowym, łańcuchowym, dacie/godzinie lub typie wyliczenia, jak również inet
, interval
, money
, oid
, pg_lsn
, tid
i tablice dowolnego z tych typów.
Przykład
Oto krótki przykład pokazujący, jak to działa:
SELECT MAX(productprice)
FROM products;
Wynik:
245.00
W tym przypadku productprice
to kolumna w products
stół.
Aby nadać temu nieco więcej kontekstu, oto migawka tabeli:
+----------+---------------------------------+--------------+ | 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 | +----------+---------------------------------+--------------+
Widzimy productprice
kolumna, dla której otrzymaliśmy maksymalną wartość w naszym przykładzie.
Moja rzeczywista tabela zawiera więcej kolumn, ale to pokazuje kolumnę i jej kontekst w tabeli.
NULL
Wartości
MAX()
funkcja ignoruje każdy NULL
wartości. W naszej przykładowej tabeli powyżej młot ma wartość NULL
w jego productprice
kolumna, ale zostało to zignorowane w naszej MAX()
przykład.
Przefiltrowane wyniki
MAX()
funkcja działa na wierszach zwróconych przez zapytanie. Więc jeśli filtrujesz wyniki, wynik MAX()
odzwierciedli to.
Filtrujmy wyniki:
SELECT MAX(productprice)
FROM products
WHERE vendorid = 1001;
Wynik:
25.99
Wartości daty i godziny
MAX()
funkcja może być używana na wartościach daty i godziny:
Załóżmy, że mamy tabelę o nazwie pets
z następującymi danymi:
+-------+---------+------------+ | 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 | +-------+---------+------------+
Maksymalną wartość możemy uzyskać z dob
kolumna, tak:
SELECT MAX(dob)
FROM pets;
Wynik:
2020-11-28
Dane postaci
W przypadku używania z kolumnami danych znakowych MAX()
znajduje najwyższą wartość w kolejności zestawiania.
Przykład:
SELECT MAX(petname)
FROM pets;
Wynik:
Wag