Dela via


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

Se även