COUNT (Azure Stream Analytics)
グループ内のアイテムの数を返します。 COUNT は常に、bigint データ型の値を返します。
構文
-- Aggregate Function Syntax
COUNT ( { [ [ALL | DISTINCT] expression ] | * } )
-- Analytic Function Syntax
COUNT ( { [expression] | * }) OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])
引数
ALL
すべての値にこの集計関数を適用します。 ALL が既定値です。
DISTINCT
COUNT が一意の null 以外の値の数を返すように指定します。
式 (expression)
任意の型の式または列の名前です。 集計関数とサブクエリは許可されません。
* (ワイルドカード式)
グループ内のイベントの合計数を返すために、すべてのイベントをカウントするように指定します。 COUNT(*) にパラメーターはありません。 COUNT(*) では、定義上、特定の列についての情報は使用されないため、式パラメーターは必要ありません。 COUNT(*) は、重複を取り除かずにイベントの数を返します。 各イベントを個別にカウントします。 これには、null 値を含むイベントが含まれます。null 値の場合は 0 を返します。
OVER ([<PARTITION BY 句><LIMIT DURATION 句> [<WHEN 句>]]
COUNT が適用される行のグループを決定します。 PARTITION BY 句は、同じパーティション キーを持つ行をグループ化することを指定します。 LIMIT DURATION 句は、グループに含まれる履歴の量を指定します。 WHEN 句は、グループに含める行のブール条件を指定します。 使用法の詳細については、 OVER 句 を参照してください。
解説
COUNT(*) は、NULL 値や重複を含むイベントの数を返します。
COUNT(ALL 式) と COUNT(expression) は、グループ内の各イベントの式を評価し、null 以外の値の数を返します。
COUNT(DISTINCT 式) は、グループ内の各イベントの式を評価し、null 以外の一意の値の数を返します。
COUNT(input_stream) は COUNT() と COUNT(*) と同じですが、COUNT(DISTINCT input_stream) は一意のイベントのみをカウントします。
COUNT(DISTINCT 式) は、分析関数としてサポートされていません。 つまり、OVER 句で COUNT(DISTINCT 式) を使用することはできません。
戻り値の型
bigint
例
SELECT System.Timestamp() AS OutTime, TollId, COUNT(*)
FROM Input TIMESTAMP BY EntryTime
GROUP BY TollId, TumblingWindow(minute,3)