In PostgreSQL das MAX()
Funktion berechnet das Maximum der Nicht-Null-Eingabewerte und gibt das Ergebnis zurück.
Diese Funktion kann für jeden numerischen, Zeichenfolgen-, Datums-/Uhrzeit- oder Aufzählungstyp sowie für inet
verwendet werden , interval
, money
, oid
, pg_lsn
, tid
, und Arrays dieser Typen.
Beispiel
Hier ist ein kurzes Beispiel, um zu demonstrieren, wie es funktioniert:
SELECT MAX(productprice)
FROM products;
Ergebnis:
245.00
In diesem Fall productprice
ist eine Spalte in den products
Tisch.
Um dem etwas mehr Kontext zu geben, hier ein Schnappschuss der Tabelle:
+----------+---------------------------------+--------------+ | 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 | +----------+---------------------------------+--------------+
Wir können den productprice
sehen Spalte, für die wir in unserem Beispiel den maximalen Wert erhalten haben.
Meine eigentliche Tabelle enthält mehr Spalten, aber hier sehen Sie die Spalte und ihren Kontext innerhalb der Tabelle.
NULL
Werte
Der MAX()
Funktion ignoriert jeden NULL
Werte. In unserer Beispieltabelle oben hat der Vorschlaghammer NULL
in seinem productprice
Spalte, aber das wurde in unserem MAX()
ignoriert Beispiel.
Gefilterte Ergebnisse
Der MAX()
Die Funktion arbeitet mit den von der Abfrage zurückgegebenen Zeilen. Wenn Sie also die Ergebnisse filtern, das Ergebnis von MAX()
wird das widerspiegeln.
Lassen Sie uns die Ergebnisse filtern:
SELECT MAX(productprice)
FROM products
WHERE vendorid = 1001;
Ergebnis:
25.99
Datum/Uhrzeit-Werte
Der MAX()
Funktion kann auf datetime-Werten verwendet werden:
Angenommen, wir haben eine Tabelle namens pets
mit folgenden Daten:
+-------+---------+------------+ | 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 | +-------+---------+------------+
Wir können den maximalen Wert aus dem dob
erhalten Spalte wie folgt:
SELECT MAX(dob)
FROM pets;
Ergebnis:
2020-11-28
Charakterdaten
Bei Verwendung mit Zeichendatenspalten MAX()
findet den höchsten Wert in der Sortierfolge.
Beispiel:
SELECT MAX(petname)
FROM pets;
Ergebnis:
Wag