TopOne (Azure Stream Analytics)

top-rank レコードを返します。rank は、指定した順序に従ってウィンドウ内のイベントのランク付け位置を定義します。 順位付け/ランク付けはイベント列に基づき、ORDER BY 句で指定できます。

構文

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

引数

<scalar_expression>

TopOne はオプションのスカラー式を受け取ります。これにより、top イベントに対するプロジェクションを指定できます。 パラメーターを指定しないと、完全なイベント レコードが返されます。

<column_name>

順序付けを行う入力イベントの列の名前を指定します。 bigint 型、float 型、datetime 型による順序付けのみが許可されることに注意してください。

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

TopOne を適用する行のグループを決定します。 PARTITION BY 句は、同じパーティション キーを持つ行をグループ化することを指定します。 LIMIT DURATION 句は、グループに含まれる履歴の量を指定します。 オプションの WHEN 句は、グループに含める行のブール条件を指定します。 使用法の詳細については、 OVER 句 を参照してください。

戻り値の型

パラメーターによって <scalar_expression> 投影される値。パラメーターが指定されていない場合はレコード値。

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)