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

BigQuery分组查询中使用ARRAY_CONCAT合并数组列报错求助

BigQuery分组查询中使用ARRAY_CONCAT合并数组列报错求助

嗨,我来帮你分析下这个问题~

你遇到的报错原因很明确:在BigQuery的GROUP BY查询规则里,SELECT列表中的每一列要么必须出现在GROUP BY子句中,要么得通过聚合函数来对分组内的多行数据做汇总处理。你当前用的array_concat()是普通的数组拼接函数,它需要传入多个明确的数组参数来拼接,并不是用于分组聚合的函数,所以BigQuery会判定users列既没被分组、也没被聚合,从而抛出错误。

要解决这个问题,你需要用BigQuery专门为数组聚合场景设计的array_concat_agg()函数——它的作用就是将分组内每一行的数组元素拼接成一个完整的数组。把你的SQL做如下修改即可:

SELECT
  organization,
  EXTRACT(week FROM date) week_number,
  SUM(count_users) count_users,
  array_concat_agg(users) users
FROM
  MyTable
GROUP BY
  organization,
  EXTRACT(week FROM date) week_number;

如果你的业务需求是要合并后的数组里没有重复的用户,还可以给函数加上DISTINCT关键字,写法如下:
array_concat_agg(DISTINCT users)

备注:内容来源于stack exchange,提问作者Tizianoreica

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 14:20:29