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,則傳回 NULL

範例

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

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