Select 个具有 google 个 BigQuery 的特定字段

Select specific fields with google BigQuery

我正在将 Firebase 分析与应用程序结合使用。 当我这样做时:

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

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

当我尝试 select 特定字段或按特定字段排序时,我总是遇到语法错误。

例如:

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

我收到一条错误消息"Unrecognized name: level_retry at [8:9]"

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

我想要实现的是显示我在哪个级别退休最多。

这是结果集:

尝试做:

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'])

如果对你有帮助请告诉我

以下适用于 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