TopOne (Azure Stream Analytics)

Zwraca rekord najwyższej rangi, w którym pozycja rangi definiuje pozycję klasyfikacji zdarzenia w oknie zgodnie z określoną kolejnością. Kolejność/klasyfikacja jest oparta na kolumnach zdarzeń i może być określona w klauzuli ORDER BY.

Składnia

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

Funkcja TopOne przyjmuje opcjonalne wyrażenie skalarne, które umożliwia określenie projekcji nad najwyższym zdarzeniem. Bez parametru zwracany jest pełny rekord zdarzenia.

<Column_name>

Określa nazwę kolumny w zdarzeniu wejściowym, za pomocą którego będzie wykonywane porządkowanie. Należy pamiętać, że dozwolone jest tylko porządkowanie według typów bigint, float i datetime.

OVER ([<PARTITION BY klauzula LIMIT DURATION klauzuli>>< [<KLAUZULA> WHEN]]

Określa grupę wierszy, dla których zastosowano element TopOne. Klauzula PARTITION BY określa, że wiersze z tym samym kluczem partycji zostaną zgrupowane razem. Klauzula LIMIT DURATION określa, ile historii jest zawarta w grupie. Opcjonalna klauzula WHEN określa warunek logiczny, aby wiersze zostały uwzględnione w grupie. Zobacz klauzulę OVER , aby uzyskać więcej informacji na temat użycia.

Typy zwracane

Wartość przewidywana przez parametr lub wartość rekordu <scalar_expression> , jeśli nie podano parametru.

Przykłady

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)