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

如何解决BigQuery中STRUCT类型表达式无法用于GROUP BY的问题

BigQuery STRUCT分组报错解决方案

报错原因

你构造TABLE2的CTE语句中,拆分Name字段后生成的新字段别名和原表的Name字段重名,BigQuery会自动将重名字段封装为STRUCT结构体类型,你后续统计时GROUP BY t2.Name实际是对STRUCT类型执行分组操作,不符合BigQuery语法规则,因此触发报错。另外你提供的统计SQL末尾GROUP BY子句多了一个多余的小数点,也需要删除。

修复方案

第一步:修正CTE写法

给拆分后的歌曲字段设置独立别名,避免和原字段重名冲突:

WITH TABLE2 AS (
    SELECT 
        ID, 
        song_name
    FROM `你的原表名称` -- 替换为你自己的原表名
    ,UNNEST(SPLIT(Name)) AS song_name -- 拆分后的字段别名设置为song_name
)

第二步:执行统计SQL

按拆分后的独立字段分组即可正常计算每首歌的独立收听用户数:

SELECT 
    song_name AS Name,
    COUNT(DISTINCT ID) AS num_users
FROM TABLE2 t2
GROUP BY song_name

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:45:03