Freigeben über


MAX

✅ Azure Stream Analytics ✅ Fabric Eventstream

Gibt den Maximalwert im Ausdruck zurück.

Syntax

-- Aggregate Function Syntax
MAX ( expression )

-- Analytic Function Syntax
MAX ( expression ) OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])

Argumente

Ausdruck

Ist eine Konstante, ein Spaltenname oder eine beliebige Kombination von arithmetischen Operatoren. Aggregatfunktionen und Unterabfragen sind nicht zulässig.

MAX kann mit Bit-, Bigint-, Datetime- und Float-Spalten verwendet werden.

MAX kann auch mit NVARCHAR(MAX) mit dem folgenden Verhalten verwendet werden:

  • Wenn die Spalte nicht explizit in NVARCHAR(MAX) umwandeln wurde, versucht MAX, sie implizit in FLOAT zu umwandeln. Typenkonflikten führen zu Fehlern.
  • Wenn die Spalte explizit mithilfe von CAST oder TRY_CAST in NVARCHAR(MAX) umgewandelt wurde, wird der maximal festgelegte Zeichenfolgenwert zurückgegeben.

OVER ([<PARTITION BY-Klausel><LIMIT DURATION-Klausel [<WHEN-Klausel>>]]

Bestimmt die Gruppe von Zeilen, auf die MAX angewendet wird. Die PARTITION BY-Klausel gibt an, dass die Zeilen mit demselben Partitionsschlüssel gruppiert werden. Die LIMIT DURATION-Klausel gibt an, wie viel Verlauf in der Gruppe enthalten ist. Die WHEN-Klausel gibt eine boolesche Bedingung für die Zeilen an, die in die Gruppe eingeschlossen werden sollen. Weitere Informationen zur Verwendung finden Sie unter OVER-Klausel .

Rückgabetypen

Gibt einen Wert zurück, der dem Ausdruck entspricht.

Beispiele

Mit der Aggregatsyntax reduzieren wir die Anzahl der Zeilen. Hier wählen wir den maximalen Tarif für jede Maut pro Stunde aus:

SELECT
  TollId,
  System.Timestamp() AS WindowEnd,
  MAX(Toll) AS MaxFare
FROM Input TIMESTAMP BY EntryTime
GROUP BY
  TollId,
  TumblingWindow(hour,1)

Mit der Analysesyntax behalten wir die Eingabekardinalität bei. Hier für jedes Fahrzeug, das durch die Maut geht, vergleichen wir den aktuellen Tarif mit dem Maximum über die letzte Stunde:

SELECT
  TollId,
  System.Timestamp() AS PassageTime,
  LicensePlate,
  Toll AS Fare,
  MAX (Toll) OVER (PARTITION BY VehicleClass LIMIT DURATION(hour,1)) AS MaximumFareOverLastHour
FROM Input TIMESTAMP BY EntryTime

Siehe auch