TopOne (Azure Stream Analytics)
A legfelső szintű rekordot adja vissza, ahol a rang határozza meg az esemény rangsorolási pozícióját az ablakban a megadott sorrend szerint. A rendezés/rangsorolás eseményoszlopokon alapul, és az ORDER BY záradékban adható meg.
Szintaxis
-- 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>])
Argumentumok
<scalar_expression>
A TopOne egy opcionális skaláris kifejezést vesz fel, amely lehetővé teszi, hogy kivetítőt adjon meg a felső eseményre. A paraméter nélkül a teljes eseményrekord lesz visszaadva.
<column_name>
Megadja annak az oszlopnak a nevét a bemeneti eseményben, amellyel a rendezés el lesz végezve. Vegye figyelembe, hogy csak bigint, float és datetime típusú rendelések engedélyezettek.
OVER ([<PARTITION BY záradék><LIMIT DURATION záradék> [<WHEN záradék>]]
Meghatározza a topOne-ra alkalmazott sorok csoportját. A PARTITION BY záradék azt határozza meg, hogy az azonos partíciókulcsot tartalmazó sorok csoportosítva legyenek. A KORLÁT IDŐTARTAMA záradék megadja, hogy a csoport mennyi előzményt tartalmaz. Az opcionális WHEN záradék logikai feltételt ad meg a csoportba felvenni kívánt sorokhoz. A használattal kapcsolatos további részletekért lásd az OVER záradékot .
Visszatérési típusok
A paraméter által <scalar_expression>
vetített érték, vagy rekordérték, ha nincs megadva paraméter.
Példák
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)