Sdílet prostřednictvím


TopOne (Azure Stream Analytics)

Vrátí záznam s nejvyšším pořadím, kde pořadí definuje pozici řazení události v okně podle zadaného pořadí. Řazení/řazení je založené na sloupcích událostí a je možné je zadat v klauzuli ORDER BY.

Syntaxe

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

Argumenty

<Scalar_expression>

TopOne přebírá volitelný skalární výraz, který umožňuje určit projekci nad událostí top. Bez parametru se vrátí úplný záznam události.

<Column_name>

Určuje název sloupce ve vstupní události, podle kterého se bude provádět řazení. Upozorňujeme, že je povoleno pouze řazení podle typů bigint, float a datetime.

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

Určuje skupinu řádků, na které se použije TopOne. Klauzule PARTITION BY určuje, že řádky se stejným klíčem oddílu se seskupí dohromady. Klauzule LIMIT DURATION určuje, kolik historie je součástí skupiny. Volitelná klauzule WHEN určuje logickou podmínku pro zahrnutí řádků do skupiny. Další podrobnosti o využití najdete v klauzuli OVER .

Návratové typy

Hodnota projektovaná parametrem <scalar_expression> nebo hodnota záznamu, pokud není zadaný žádný parametr.

Příklady

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)