使用google BigQuery选择特定字段

问题描述 投票:0回答:2

我正在通过应用程序使用Firebase分析。当我这样做时:

SELECT * FROM `analytics_xxx.events_xxxxx` where event_name="level_quit" 

它工作正常,并显示事件值。

当我尝试选择特定字段或按特定字段排序时,总是会出现语法错误。

例如:

SELECT level_retry FROM `analytics_xxx.events_xxxxx` where event_name="level_quit" 

我收到一个错误消息“无法识别的名称:[8:9]的level_retry”

我不确定如何在查询中使用'event_params.value.int_value'值,以及为什么看起来简单的事情变得越来越复杂。

我想要达到的目标是显示我退休最多的级别。

这是结果集:enter image description here

firebase google-bigquery firebase-analytics
2个回答
1
投票

尝试做:

SELECT t.* EXCEPT (event_params), struct(e) as event_params FROM `analytics_xxx.events_xxxxx` t, t.even_params e
WHERE e.key in UNNEST(['level', 'level_retry'])

请让我知道是否对您有帮助


0
投票

下面是BigQuery标准SQL的内容>>

#standardSQL
SELECT * EXCEPT(event_name, event_params),
  (SELECT value.int_value FROM t.event_params WHERE key = 'level') AS level,
  (SELECT value.int_value FROM t.event_params WHERE key = 'level_retry') AS level_retry
FROM `project.analytics_xxx.events_xxxxx` t
WHERE event_name = 'level_quit'   

对于您问题中的示例-结果如下

Row event_date  event_timestamp     level   level_retry  
1   20200114    1579008893128003    20      0    
© www.soinside.com 2019 - 2024. All rights reserved.