Freigeben über


MAX (Azure Stream Analytics)

Gibt den größten Wert 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

expression

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

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

MAX kann auch mit NVARCHAR(MAX) mit folgendem Verhalten verwendet werden:

  • Wenn die Spalte nicht explizit in NVARCHAR(MAX) umgewandelt wurde, versucht MAX, sie implizit in FLOAT zu umwandeln. Typabweichungen führen zu Fehlern.
  • Wenn die Spalte mithilfe von CAST oder TRY_CAST explizit in NVARCHAR(MAX) umgewandelt wurde, wird der maximale 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 mit dem Ausdruck identischen Wert zurück.

Beispiele

Mit der Aggregatsyntax reduzieren wir die Anzahl der Zeilen. Hier wählen wir den maximalen Tarif bei jeder 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 Kardinalität der Eingabe bei. Hier vergleichen wir für jedes Fahrzeug, das die Maut durchläuft, den aktuellen Tarif mit dem Maximum der letzten 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

Weitere Informationen