Partilhar via


MAX (Azure Stream Analytics)

Devolve o valor máximo na expressão.

Sintaxe

-- Aggregate Function Syntax
MAX ( expression )

-- Analytic Function Syntax
MAX ( 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.

MAX pode ser utilizado com as colunas Bit, Bigint, Datetime e Float.

MAX também pode ser utilizado com NVARCHAR(MAX) com o seguinte comportamento:

  • Se a coluna não tiver sido explicitamente fundida para NVARCHAR(MAX), MAX 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, o valor máximo da cadeia será devolvido.

OVER ([<PARTITION BY clause><LIMIT DURATION clause> [<WHEN clause>]]

Determina o grupo de linhas sobre o qual MAX é 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áxima a cada portagem a cada hora:

SELECT
  TollId,
  System.Timestamp() AS WindowEnd,
  MAX(Toll) AS MaxFare
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áximo na última hora:

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

Consulte também