Megosztás a következőn keresztül:


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)