Compartir a través de


CollectTOP (Análisis de transmisiones de Azure)

Devuelve una matriz de registros clasificados, donde el rango define la posición de clasificación del evento en la ventana según el orden especificado. La ordenación o clasificación se basa en las columnas de evento y se puede especificar en la cláusula ORDER BY.

Sintaxis

-- Aggregate Function Syntax
CollectTop(<number of events as integer literal> [ , <scalar_expression> ]) OVER (ORDER BY (<column name> [ASC |DESC])+)

-- Analytic Function Syntax
CollectTop(<number of events as integer literal> [ , <scalar_expression> ]) OVER ([<PARTITION BY clause>] ORDER BY (<column name> [ASC | DESC])+ <LIMIT DURATION clause>  [<WHEN clause>])

Argumentos

<número de eventos como literal entero>

El número de eventos principales que el usuario desea recopilar de la ventana.

<scalar_expression>

CollectTop toma una expresión escalar opcional que permite especificar una proyección sobre los eventos recopilados. Sin el parámetro , se recopilan registros de eventos completos.

<nombre de columna>

Nombre de la columna en el evento de entrada, por el que se realizará la ordenación. Solo se permite la ordenación por los tipos float, bigint y datetime.

OVER ([<cláusula PARTITION BY cláusula>>< LIMIT DURATION [<cláusula> WHEN]]

Determina el grupo de filas sobre el que se aplica CollectTop. La cláusula PARTITION BY especifica que las filas con la misma clave de partición se agruparán. La cláusula LIMIT DURATION especifica cuánto historial se incluye en el grupo. La cláusula WHEN especifica una condición booleana para que las filas se incluyan en el grupo. Consulte la cláusula OVER para obtener más información sobre el uso.

Tipos de valor devuelto

Matriz de registros de tipo { "rank": bigint, "value": <projected_type> }, donde <projected_type> es el tipo de <scalar_expression> o un registro si no se especifica ninguna expresión.

Comentarios

Null se trata como el valor mínimo, para obtener más información, consulte https://msdn.microsoft.com/library/ms188385.aspx

Ejemplos

SELECT   
    value1,  
    CollectTop(2) OVER (ORDER BY value2 ASC, value3 DESC) as top1  
FROM testinput timestamp by time  
GROUP BY TumblingWindow(second, 5), value1  

Entrada de ejemplo:

Entrada de ejemplo

Salida de ejemplo:

Salida de ejemplo

SELECT   
    value1,  
    CollectTop(2, x + y) OVER (ORDER BY value2 ASC, value3 DESC) as top1  
FROM testinput timestamp by time  
GROUP BY TumblingWindow(second, 5), value1