- Kategorien:
Aggregatfunktionen (General) , Fensterfunktionen
MAX¶
Gibt den maximalen Wert für die Datensätze innerhalb des Ausdrucks expr zurück. NULL-Werte werden ignoriert, es sei denn, alle Datensätze sind NULL. In diesem Fall wird ein NULL-Wert zurückgegeben.
Syntax¶
Aggregatfunktion
Fensterfunktionen
Die detaillierte Syntax von window_frame finden Sie unter Syntax und Verwendung von Fensterfunktionen.
Rückgabewerte¶
Der Datentyp des zurückgegebenen Wertes entspricht dem Datentyp des Eingabewerts.
Nutzungshinweise¶
Aus Gründen der Kompatibilität mit anderen Systemen kann das Schlüsselwort DISTINCT als Argument für die Funktion angegeben werden, aber dies hat keine Auswirkungen.
Wenn die Funktion als Fensterfunktion aufgerufen wird, kann das Fenster einen optionalen
window_frameenthalten. Derwindow_frame(entweder kumulativ oder gleitend) gibt die Teilmenge der Zeilen innerhalb des Fensters an, für die die summierten Werte zurückgegeben werden sollen. Wenn keinwindow_frameangegeben wird, ist der Standard der folgende kumulative Fensterrahmen (gemäß dem ANSI-Standard für Fensterfunktionen):RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROWWeitere Informationen zu Fensterrahmen, einschließlich Syntax und Beispiele, finden Sie unter Nutzungshinweise für Fensterrahmen.
Sortierungsdetails¶
The comparisons follow the collation based on the input arguments‘ collations and precedences.
The collation of the result is the same as the collation of the input.
Beispiele¶
In den folgenden Beispielen wird die Verwendung der Funktion MAX() gezeigt.
Erstellen Sie eine Tabelle und Daten:
Zeigen Sie die Daten an:
Verwenden Sie die Funktion MAX, um den größten Wert in der Spalte mit dem Namen d abzurufen:
Kombinieren Sie die GROUP BY-Klausel mit der Funktion MAX, um den kleinsten und den größten Wert in jeder Gruppe abzurufen (wobei jede Gruppe auf dem Wert der Spalte k basiert):
Use a PARTITION BY clause to break the data into groups based on the
value of k. This is similar to, but not identical to, using
GROUP BY. In particular, GROUP BY produces one output
row per group, while PARTITION BY produces one output row per input
row.
Verwenden Sie eine ORDER BY-Klausel zur Fenstererstellung (Windowing), um ein gleitendes Fenster mit einer Breite von zwei Zeilen zu erstellen, und geben Sie den höchsten Wert in diesem Fenster aus. (Denken Sie daran, dass sich ORDER BY in der Windowing-Klausel von ORDER BY auf Anweisungsebene unterscheidet.) In diesem Beispiel wird eine einzelne Partition verwendet, daher gibt es in der OVER()-Klausel keine PARTITION BY-Klausel.