【问题标题】:Cannot access field in Big Query with type ARRAY<STRUCT<hitNumber INT64, time INT64, hour INT64, ...>>无法访问 Big Query 中类型为 ARRAY<STRUCT<hitNumber INT64, time INT64, hour INT64, ...>> 的字段
【发布时间】:2016-12-30 19:01:15
【问题描述】:

我正在尝试在 BigQuery 上使用标准 SQL 方言(即不是旧版 SQL)运行查询。我的查询是:

SELECT
date, hits.referer
FROM `refresh.ga_sessions_xxxxxx*`
LIMIT 1000

但是一直报错

Error: Cannot access field referer on a value with type 
ARRAY<STRUCT<hitNumber INT64, time INT64, hour INT64, ...>> at [2:12]

有人知道正确的语法吗?

【问题讨论】:

    标签: sql nested google-bigquery


    【解决方案1】:

    如果您正在寻找所有推荐人 - 请尝试

    SELECT date, h.referer
    FROM `refresh.ga_sessions_xxxxxx*`, UNNEST(hits) as h
    

    【讨论】:

    • 当我使用函数UNNEST 时,我得到了这个Error: Syntax error: Unexpected keyword UNNEST。我只在标准 SQL 方言中运行查询
    • 好吧,我发现了错误,我在选择中使用UNNEST,它只能与FROM一起使用。
    • 对于那些来这里尝试在 firebase 上工作的人来说,这是一篇不错的博文:firebase.googleblog.com/2017/03/…
    • UNNEST: UNNEST 接受一个 ARRAY 并返回一个表,其中 ARRAY 中的每个元素都有一行。资源:cloud.google.com/bigquery/docs/reference/standard-sql/…
    猜你喜欢
    • 2019-07-27
    • 2021-03-11
    • 2018-11-26
    • 1970-01-01
    • 2019-02-12
    • 2022-01-24
    • 1970-01-01
    • 2021-09-21
    • 2020-04-13
    相关资源
    最近更新 更多