TopOne (Azure Stream Analytics)
Devolve o registo de classificação superior, em que a classificação define a posição de classificação do evento na janela de acordo com a ordenação especificada. A ordenação/classificação baseia-se em colunas de eventos e pode ser especificada na cláusula ORDER BY.
Sintaxe
-- Aggregate Function Syntax
TopOne( [ <scalar_expression> ] ) OVER (ORDER BY (<column name> [ASC |DESC])+)
-- Analytic Function Syntax
TopOne( [ <scalar_expression> ] ) OVER ([<PARTITION BY clause>] ORDER BY (<column name> [ASC |DESC])+ <LIMIT DURATION clause> [<WHEN clause>])
Argumentos
<scalar_expression>
A TopOne utiliza uma expressão escalar opcional que lhe permite especificar uma projeção sobre o evento superior. Sem o parâmetro, é devolvido um registo de evento completo.
<column_name>
Especifica o nome da coluna no evento de entrada através do qual a ordenação será efetuada. Tenha em atenção que só são permitidas encomendas por tipos bigint, float e datetime.
OVER ([<PARTITION BY clause><LIMIT DURATION clause> [<WHEN clause>]]
Determina o grupo de linhas sobre o qual a TopOne é aplicada. A cláusula PARTITION BY especifica que as linhas com a mesma chave de partição serão agrupadas. A cláusula DURAÇÃO DO LIMITE especifica a quantidade de histórico incluída no grupo. A cláusula WHEN opcional especifica uma condição booleana para que as linhas sejam incluídas no grupo. Veja Cláusula OVER para obter mais detalhes sobre a utilização.
Tipos de Devolução
Valor projetado pelo <scalar_expression>
parâmetro ou um valor de registo se não for fornecido nenhum parâmetro.
Exemplos
SELECT
TopOne() OVER (ORDER BY value DESC) as topEvent
FROM input
GROUP BY Tumbling(second, 10)
SELECT
TopOne(x * y) OVER (ORDER BY value DESC) as topEvent
FROM input
GROUP BY Tumbling(second, 10)