要检查行/事件是否有参数“machine_name”和“Last_notification”的值相同,可以使用下面的语句
SELECT COUNT(DISTINCT key) cnt
FROM UNNEST(event_params)
WHERE key IN ("machine_name", "Last_notification")
GROUP BY value
ORDER BY cnt DESC
LIMIT 1
假设您所讨论的查询的其余部分是正确的-下面将添加您的条件
#standardSQL
SELECT *
FROM `myProject.analytics_159820162.events_*`
WHERE _TABLE_SUFFIX BETWEEN '20180725' AND '20180727'
AND event_name IN ("event_notification_received", "event_notification_dissmissed")
AND platform = "ANDROID"
AND (
SELECT COUNT(DISTINCT key) cnt
FROM UNNEST(event_params)
WHERE key IN ("machine_name", "Last_notification")
GROUP BY value
ORDER BY cnt DESC
LIMIT 1
) = 2
ORDER BY event_timestamp ASC
注意:下面的用法只是为了安全起见,以防事件有多个参数具有相同的键,但值不同
ORDER BY cnt DESC
LIMIT 1