reduce 函数 - Azure Databricks - Databricks SQL

reduce 函数 - Azure Databricks - Databricks SQL

适用于: Databricks SQL Databricks Runtime

使用自定义聚合器聚合数组中的元素。 此函数是函数的aggregate同义词。

语法

reduce(expr, start, merge [, finish] )

自变量

expr:一个 ARRAY 表达式。

start:任意类型的初始值。

merge:用于聚合当前元素的 lambda 函数。

finish:用于完成聚合的可选 lambda 函数。

返回

结果类型与 finish lambda 函数(如果存在)或 start 的结果类型匹配。

将表达式应用于初始状态和数组中的所有元素,并将其简化为单一状态。 通过应用 finish 函数将最终状态转换为最终结果。

该 merge 函数采用两个参数。 第一个参数是累加器,第二个参数是要聚合的元素。

累加器和结果的类型必须为 start。

可选的 finish 函数采用一个参数并返回最终结果。

示例

> SELECT reduce(array(1, 2, 3), 0, (acc, x) -> acc + x);

6

> SELECT reduce(array(1, 2, 3), 0, (acc, x) -> acc + x, acc -> acc * 10);

60

> SELECT reduce(array(1, 2, 3, 4),

named_struct('sum', 0, 'cnt', 0),

(acc, x) -> named_struct('sum', acc.sum + x, 'cnt', acc.cnt + 1),

acc -> acc.sum / acc.cnt) AS avg

2.5

相关函数

array 函数

aggregate 函数

Lambda 函数

相关推荐

方舟生存进化 棘背龙驯服攻略
365体育app手机版安全下载

方舟生存进化 棘背龙驯服攻略

📅 08-06 👁️ 9322
OPPO Reno6(12GB/256GB/全网通/5G版)
365体育app手机版安全下载

OPPO Reno6(12GB/256GB/全网通/5G版)

📅 08-08 👁️ 2880
汽车之家
bt365娱乐线

汽车之家

📅 06-30 👁️ 2254