Delen via


MIN (Azure Stream Analytics)

Retourneert de minimumwaarde in de expressie.

Syntaxis

-- Aggregate Function Syntax
MIN ( expression )

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

Argumenten

expression

Is een constante, kolomnaam of functie en een combinatie van rekenkundige operatoren. Statistische functies en subquery's zijn niet toegestaan.

MIN kan worden gebruikt met de kolommen Bit, Bigint, Datetime en Float.

MIN kan ook worden gebruikt met NVARCHAR(MAX) met het volgende gedrag:

  • Als de kolom niet expliciet naar NVARCHAR(MAX) is gegoten, probeert MIN deze impliciet naar FLOAT te casten. Niet-overeenkomende typen leiden tot fouten.
  • Als de kolom expliciet is gecast naar NVARCHAR(MAX) met behulp van CAST of TRY_CAST, wordt de minimale tekenreekswaarde geretourneerd.

OVER ([<COMPONENT PARTITION BY><COMPONENT LIMIT DURATION> [<WHEN component>]]

Bepaalt de groep rijen waarop MIN wordt toegepast. De PARTITION BY-component geeft aan dat de rijen met dezelfde partitiesleutel worden gegroepeerd. De component LIMIT DURATION geeft aan hoeveel geschiedenis wordt opgenomen in de groep. De WHEN-component geeft een booleaanse voorwaarde op voor de rijen die moeten worden opgenomen in de groep. Zie OVER-component voor meer informatie over het gebruik.

Retourtypen

Retourneert dezelfde waarde als expressie.

Voorbeelden

Met de statistische syntaxis verminderen we het aantal rijen. Hier selecteren we het minimum tarief voor elk tol per uur:

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

Met de analysesyntaxis behouden we de invoerkardinaliteit. Hier vergelijken we voor elk voertuig dat door de tol gaat, het huidige tarief tot het minimum van het afgelopen uur:

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

Zie ook