MIN (Azure Stream Analytics)
Returnerar minimivärdet i uttrycket.
Syntax
-- Aggregate Function Syntax
MIN ( expression )
-- Analytic Function Syntax
MIN ( expression ) OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])
Argument
expression
Är en konstant, ett kolumnnamn eller en funktion och en kombination av aritmetiska operatorer. Mängdfunktioner och underfrågor är inte tillåtna.
MIN kan användas med kolumnerna Bit, Bigint, Datetime och Float.
MIN kan också användas med NVARCHAR(MAX) med följande beteende:
- Om kolumnen inte uttryckligen kastades till NVARCHAR(MAX) försöker MIN implicit omvandla den till FLOAT. Typmatchningar resulterar i fel.
- Om kolumnen uttryckligen kastades till NVARCHAR(MAX) med hjälp av CAST eller TRY_CAST returneras det minimala strängvärdet.
ÖVER ([<PARTITION BY-sats><LIMIT DURATION-sats> [<WHEN-sats>]]
Avgör vilken grupp rader som MIN tillämpas på. PARTITION BY-satsen anger att raderna med samma partitionsnyckel ska grupperas tillsammans. LIMIT DURATION-satsen anger hur mycket historik som ingår i gruppen. WHEN-satsen anger ett booleskt villkor för de rader som ska ingå i gruppen. Mer information om användningen finns i OVER-satsen .
Returtyper
Returnerar ett värde som är samma som uttryck.
Exempel
Med den aggregerade syntaxen minskar vi antalet rader. Här väljer vi det lägsta priset för varje avgift varje timme:
SELECT
TollId,
System.Timestamp() AS WindowEnd,
MIN(Toll) AS MinFare
FROM Input TIMESTAMP BY EntryTime
GROUP BY
TollId,
TumblingWindow(hour,1)
Med analyssyntaxen behåller vi kardinaliteten för indata. Här för varje fordon som går igenom vägtullen jämför vi det aktuella priset med det lägsta under den senaste timmen:
SELECT
TollId,
System.Timestamp() AS PassageTime,
LicensePlate,
Toll AS Fare,
MIN (Toll) OVER (PARTITION BY VehicleClass LIMIT DURATION(hour,1)) AS MinimumFareOverLastHour
FROM Input TIMESTAMP BY EntryTime