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)