✅ Azure 串流分析 ✅ 網狀架構事件串流
傳回群組中的項目數。 COUNT 一律會傳回 bigint 數據類型值。
語法
-- Aggregate Function Syntax
COUNT ( { [ [ALL | DISTINCT] expression ] | * } )
-- Analytic Function Syntax
COUNT ( { [expression] | * }) OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])
論點
全部
將彙總函式套用至所有值。 ALL 是預設值。
獨特
指定 COUNT 傳回唯一非 Null 值的數目。
表示式
這是任何類型或數據行名稱的表達式。 不允許聚合函數和子查詢。
* (通配符表示式)
指定應該計算所有事件,以傳回群組中的事件總數。 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)