Mysql 无法为安装了应用程序但未在同一天卸载的用户提取“event_params.value.string_value”值
我的数据如下所示: 我已经写了一段代码来获取那些用户的伪id,他们在特定日期安装了应用程序,但没有在同一天卸载应用程序 这是:Mysql 无法为安装了应用程序但未在同一天卸载的用户提取“event_params.value.string_value”值,mysql,sql,firebase,google-cloud-platform,google-bigquery,Mysql,Sql,Firebase,Google Cloud Platform,Google Bigquery,我的数据如下所示: 我已经写了一段代码来获取那些用户的伪id,他们在特定日期安装了应用程序,但没有在同一天卸载应用程序 这是: SELECT user_pseudo_id, MIN(CASE WHEN event_name = 'first_open' THEN TIMESTAMP_MICROS(event_timestamp) END) as app_install_date, FROM `data-_179636122.events_20200917` WHERE ev
SELECT user_pseudo_id,
MIN(CASE WHEN event_name = 'first_open' THEN TIMESTAMP_MICROS(event_timestamp) END) as app_install_date,
FROM `data-_179636122.events_20200917`
WHERE event_name IN ('app_remove', 'first_open')
AND TIMESTAMP_MICROS(user_first_touch_timestamp) > '2020-09-17 00:00:00'
GROUP BY user_pseudo_id
HAVING COUNT(DISTINCT event_name) <> 2;
现在,对于这些用户\u伪\u id,我想提取事件\u params.value.string\u值,对于类似“screen\u view”的事件\u名称,我使用以下代码:
SELECT user_pseudo_id,
MIN(CASE WHEN event_name = 'first_open' THEN TIMESTAMP_MICROS(event_timestamp) END) as app_install_date,
MAX(CASE WHEN event_name = 'app_remove' THEN TIMESTAMP_MICROS(event_timestamp) END) as app_remove_date,
param.value.string_value
FROM `data-_179636122.events_20200917`, unnest(event_params) as param
WHERE event_name IN ('app_remove', 'first_open')
AND TIMESTAMP_MICROS(user_first_touch_timestamp) > '2020-09-17 00:00:00'
AND
param.key IN ('firebase_screen', 'firebase_screen_class', 'firebase_previous_class', 'firebase_previous_screen')
GROUP BY user_pseudo_id, param.value.string_value
HAVING COUNT(DISTINCT event_name) <> 2;
但查询没有给出任何结果
预期产出:
在一列中,例如MainActivity、NowPlayingActivity等,将有重复的用户\u伪\u id和事件\u params.value.string\u值
如果你能指导我怎么做,我将不胜感激
感谢和问候,
山塔努贾因