MIN (Azure Stream Analytics)
Devolve o valor mínimo na expressão .
Sintaxe
-- Aggregate Function Syntax
MIN ( expression )
-- Analytic Function Syntax
MIN ( expression ) OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])
Argumentos
expression
É uma constante, nome de coluna ou função e qualquer combinação de operadores aritméticos. As funções e subconsultas de agregação não são permitidas.
O MÍNIMO pode ser utilizado com as colunas Bit, Bigint, Datetime e Float.
O MÍNIMO também pode ser utilizado com NVARCHAR(MAX) com o seguinte comportamento:
- Se a coluna não tiver sido explicitamente fundida para NVARCHAR(MAX), o MIN tentará lancá-la implicitamente para FLOAT. As incompatibilidades de tipo resultarão em erros.
- Se a coluna tiver sido explicitamente fundida para NVARCHAR(MAX) com CAST ou TRY_CAST, será devolvido o valor mínimo da cadeia.
OVER ([<PARTITION BY clause><LIMIT DURATION clause> [<WHEN clause>]]
Determina o grupo de linhas sobre o qual o MÍNIMO é aplicado. A cláusula PARTITION BY especifica que as linhas com a mesma chave de partição serão agrupadas. A cláusula LIMIT DURATION especifica a quantidade de histórico incluída no grupo. A cláusula WHEN especifica uma condição booleana para que as linhas sejam incluídas no grupo. Veja a cláusula OVER para obter mais detalhes sobre a utilização.
Tipos de Retorno
Devolve um valor igual a expressão.
Exemplos
Com a sintaxe agregada, reduziremos o número de linhas. Aqui, selecionamos a tarifa mínima a cada portagem a cada hora:
SELECT
TollId,
System.Timestamp() AS WindowEnd,
MIN(Toll) AS MinFare
FROM Input TIMESTAMP BY EntryTime
GROUP BY
TollId,
TumblingWindow(hour,1)
Com a sintaxe de análise, mantemos a cardinalidade de entrada. Aqui para cada veículo que passa pela portagem, comparamos a tarifa atual com o mínimo na última hora:
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