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

BigQuery中为UNNEST(hits)输出列添加hits.前缀的方法咨询

解决方案

给UNNEST(hits)返回的结果指定别名hits,同时排除原表中原本的数组类型hits列避免重名冲突即可,示例写法如下:

#standardSQL
SELECT * EXCEPT (hits), hits
FROM `{project_id}.{dataset_id}.{table_name}`, UNNEST(hits) AS hits

原理解释

  • 原查询没有给UNNEST的结果指定别名,展开的STRUCT结构字段会直接提升到结果顶层,返回page、eventInfo这类无前缀的字段
  • 给UNNEST结果指定别名hits后,所有展开的字段都会作为hitsSTRUCT的子字段返回,自动生成hits.page这类符合要求的字段名
  • 原表本身包含数组类型的hits列,用* EXCEPT (hits)可以排除原数组列,避免和别名生成的STRUCT类型hits重名报错

如果不需要保留原表除hit外的其他字段,也可以简化为以下写法,返回的所有字段都会带hits.前缀:

#standardSQL
SELECT hits
FROM `{project_id}.{dataset_id}.{table_name}`, UNNEST(hits) AS hits

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:48:01