PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

MAX()-Funktion in PostgreSQL

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