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
我正在将 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