Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
✅Eventstream prostředků infrastruktury Azure Stream Analytics ✅
Vrátí maximální hodnotu ve výrazu.
Syntaxe
-- Aggregate Function Syntax
MAX ( expression )
-- Analytic Function Syntax
MAX ( expression ) OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])
Argumenty
výrazu
Je konstanta, název sloupce nebo funkce a jakákoli kombinace aritmetických operátorů. Agregační funkce a poddotazy nejsou povoleny.
Max lze použít se sloupci Bit, Bigint, Datetime a Float.
Max lze také použít s NVARCHAR(MAX) s následujícím chováním:
- Pokud sloupec nebyl explicitně přetypován na NVARCHAR(MAX), max se pokusí implicitně přetypovat na HODNOTU FLOAT. Neshody typů způsobí chyby.
- Pokud byl sloupec explicitně přetypován na NVARCHAR(MAX) pomocí cast nebo TRY_CAST, vrátí se maximální řetězcová hodnota.
OVER ([<KLAUZULE PARTITION BY><LIMIT DURATION – klauzule> [<KLAUZULE WHEN>]]
Určuje skupinu řádků, u kterých se použije max. Klauzule PARTITION BY určuje, že řádky se stejným klíčem oddílu se seskupí dohromady. Klauzule LIMIT DURATION určuje, kolik historie je součástí skupiny. Klauzule WHEN určuje logickou podmínku pro řádky, které mají být zahrnuty do skupiny. Další podrobnosti o využití najdete v klauzuli OVER .
Návratové typy
Vrátí hodnotu stejnou jako výraz.
Příklady
S agregační syntaxí snížíme počet řádků. Tady vybereme maximální jízdné na každé placené každou hodinu:
SELECT
TollId,
System.Timestamp() AS WindowEnd,
MAX(Toll) AS MaxFare
FROM Input TIMESTAMP BY EntryTime
GROUP BY
TollId,
TumblingWindow(hour,1)
Pomocí syntaxe analýzy udržujeme vstupní kardinalitu. Tady pro každé vozidlo procházející placenou linkou porovnáme aktuální jízdné s maximálním počtem za poslední hodinu:
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