COUNT(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
向所有值应用此聚合函数。 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 (表达式) 计算组中每个事件的表达式并返回非 null 值的数目。
COUNT (DISTINCT 表达式) 计算组中每个事件的表达式,并返回唯一的非 null 值的数目。
COUNT (input_stream) 等效于 COUNT () 和 COUNT (*) ,但 COUNT (DISTINCT input_stream) 只计算唯一事件。
COUNT (DISTINCT 表达式) 不支持作为分析函数。 也就是说,不能将 COUNT (DISTINCT 表达式) 与 OVER 子句一起使用。
返回类型
bigint
示例
SELECT System.Timestamp() AS OutTime, TollId, COUNT(*)
FROM Input TIMESTAMP BY EntryTime
GROUP BY TollId, TumblingWindow(minute,3)