计数

✅ 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 为默认值。

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)  

另请参阅

GROUP BY 子句
OVER 子句