Partilhar via


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)