Condividi tramite


TopOne (Analisi di flusso di Azure)

Restituisce il record di rango superiore, dove rank definisce la posizione di classificazione dell'evento nella finestra in base all'ordinamento specificato. L'ordinamento o la classificazione si basa sulle colonne dell'evento e può essere specificato nella clausola ORDER BY.

Sintassi

-- 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>])  

Argomenti

<scalar_expression>

TopOne accetta un'espressione scalare facoltativa che consente di specificare una proiezione sull'evento superiore. Senza il parametro , viene restituito il record dell'evento completo.

<Column_name>

Specifica il nome della colonna nell'evento di input in base al quale verrà eseguito l'ordinamento. Si noti che sono consentiti solo l'ordinamento in base ai tipi bigint, float e datetime.

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

Determina il gruppo di righe su cui viene applicato TopOne. La clausola PARTITION BY specifica che le righe con la stessa chiave di partizione verranno raggruppate. La clausola LIMIT DURATION specifica la quantità di cronologia inclusa nel gruppo. La clausola WHEN facoltativa specifica una condizione booleana per le righe da includere nel gruppo. Per altri dettagli sull'utilizzo, vedere la clausola OVER .

Tipi restituiti

Valore proiettato dal <scalar_expression> parametro o un valore di record se non viene specificato alcun parametro.

Esempi

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)