Beam ZetaSQL 聚合函数

此页面记录了 Beam ZetaSQL 支持的 ZetaSQL 聚合函数。

运算符语法描述
COUNT(*)返回输入行的数量
AVG(FLOAT64)返回非 NULL 输入值的平均值
SUM(numeric)返回非 NULL 值的总和
MAX(value)返回最大非 NULL
MIN(value)返回最小非 NULL

AVG

AVG(expression)

描述

返回非 NULL 输入值的平均值。

支持的参数类型

FLOAT64。请注意,对于浮点输入类型,返回值是非确定性的,这意味着每次使用此函数时,您可能会收到不同的结果。

返回的数据类型

示例

SELECT AVG(x) as avg
FROM UNNEST([0, 2, NULL, 4, 4, 5]) as x;

+-----+
| avg |
+-----+
| 3   |
+-----+

COUNT

  1. COUNT(*)

  2. COUNT(expression)

描述

  1. 返回输入中的行数。
  2. 返回 expression 计算结果为除 NULL 之外的任何值的行的数量。

支持的参数类型

expression 可以是任何数据类型。

返回的数据类型

INT64

示例

SELECT COUNT(*) AS count_star, COUNT(x) AS count_x
FROM UNNEST([1, 4, NULL, 4, 5]) AS x;

+------------+---------+
| count_star | count_x |
+------------+---------+
| 5          | 4       |
+------------+---------+

MAX

MAX(expression)

描述

返回非 NULL 表达式的最大值。如果存在零个输入行或 expression 对所有行计算结果为 NULL,则返回 NULL

支持的参数类型

除以下类型之外的任何数据类型

返回的数据类型

与用作输入值的类型相同。

示例

SELECT MAX(x) AS max
FROM UNNEST([8, NULL, 37, 4, NULL, 55]) AS x;

+-----+
| max |
+-----+
| 55  |
+-----+

MIN

MIN(expression)

描述

返回非 NULL 表达式的最小值。如果存在零个输入行或 expression 对所有行计算结果为 NULL,则返回 NULL

支持的参数类型

除以下类型之外的任何数据类型

返回的数据类型

与用作输入值的类型相同。

示例

SELECT MIN(x) AS min
FROM UNNEST([8, NULL, 37, 4, NULL, 55]) AS x;

+-----+
| min |
+-----+
| 4   |
+-----+

SUM

SUM(expression)

描述

返回非空值的总和。

如果表达式是浮点值,则总和是非确定性的,这意味着每次使用此函数时,您可能会收到不同的结果。

支持的参数类型

所有支持的数字数据类型。

返回的数据类型

如果输入仅包含 NULL,则返回 NULL

示例

SELECT SUM(x) AS sum
FROM UNNEST([1, 2, 3, 4, 5, 4, 3, 2, 1]) AS x;

+-----+
| sum |
+-----+
| 25  |
+-----+