You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在BigQuery中对字段内的数字数组进行求和聚合?

在BigQuery中对数组字段内的元素求和

以下是两种可行的解决方案,帮你计算每个数组内所有数字的总和:

方法1:UNNEST + GROUP BY(基础通用写法)

如果你的表有唯一标识每行的字段(比如ID),可以用这个写法拆分数组后按行分组求和:

SELECT
  row_id, -- 替换成你表中的唯一行标识字段
  SUM(element) AS array_total
FROM
  your_table,
  UNNEST(Field) AS element
GROUP BY
  row_id

如果表没有唯一主键,也可以直接按原数组字段分组(注意:如果有完全相同的数组会被合并,根据你的需求选择):

SELECT
  Field, -- 可选保留原数组
  SUM(element) AS array_total
FROM
  your_table,
  UNNEST(Field) AS element
GROUP BY
  Field

你之前用UNNEST失败大概率是没加GROUP BY,直接求和会得到所有数组元素的全局总和,而不是每个数组单独的和。

方法2:子查询直接求和(更简洁)

BigQuery支持在SELECT语句中嵌套子查询,直接对每个数组执行求和操作,无需分组:

SELECT
  Field, -- 可选保留原数组
  (SELECT SUM(x) FROM UNNEST(Field) x) AS array_total
FROM
  your_table

这种写法更直观,不需要处理分组逻辑,适合快速计算单个数组的总和。

内容的提问来源于stack exchange,提问作者redwytnblakII

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 12:40:33