Megosztás a következőn keresztül:


MAX (Azure Stream Analytics)

A kifejezés maximális értékét adja eredményül.

Szintaxis

-- Aggregate Function Syntax
MAX ( expression )

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

Argumentumok

expression

Állandó, oszlopnév vagy függvény, valamint az aritmetikai operátorok bármely kombinációja. Az összesítő függvények és albekérdezések nem engedélyezettek.

A MAX Bit, Bigint, Datetime és Float oszlopokkal használható.

A MAX az NVARCHAR(MAX) használatával is használható a következő viselkedéssel:

  • Ha az oszlopot nem öntötte explicit módon az NVARCHAR(MAX) értékre, akkor a MAX implicit módon megpróbálja a FLOAT-ra leadni. A típuseltérések hibákat eredményeznek.
  • Ha az oszlopot explicit módon öntötték az NVARCHAR(MAX) értékre a CAST vagy TRY_CAST használatával, a függvény a maximális sztringértéket adja vissza.

OVER ([<PARTITION BY záradék><LIMIT DURATION záradék> [<WHEN záradék>]]

Meghatározza azt a sorcsoportot, amelyre a MAX van alkalmazva. A PARTITION BY záradék azt határozza meg, hogy az azonos partíciókulcsot tartalmazó sorok csoportosítva legyenek. A KORLÁT IDŐTARTAMA záradék megadja, hogy a csoport mennyi előzményt tartalmaz. A WHEN záradék logikai feltételt ad meg a csoportba felvenni kívánt sorokhoz. A használattal kapcsolatos további részletekért lásd az OVER záradékot .

Visszatérési típusok

A kifejezéssel megegyező értéket ad vissza.

Példák

Az összesítés szintaxisával csökkentjük a sorok számát. Itt minden óránként kiválasztjuk az egyes díjfizetési díjak maximális viteldíját:

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

Az elemzési szintaxissal fenntartjuk a bemeneti számosságot. Itt az útdíjon áthaladó összes jármű esetében összehasonlítjuk az aktuális viteldíjakat az elmúlt óra maximális díjával:

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

Lásd még: