首页 > 解决方案 > 如何使用 Google BigQuery 在每个关卡中找到以前没有出现过的唯一用户?

问题描述

我想找出已经开始一个级别的唯一用户,并且该用户不应包含在任何其他级别中。当我使用 distinct 时,会显示每个级别的不同用户,他们可能玩过之前的关卡,也可能没有玩过之前的关卡。我应该怎么做?

我正在运行的查询是

  SELECT
  event_name,
  chapter_name,
  level_name,
  COUNT(DISTINCT id) AS uniques,
  COUNT(id) AS total
FROM
  `abc.analytics_188353913.level`
WHERE
   (first_open between "2020-01-20" AND "2020-01-26")
 AND platform = "ANDROID" 
  AND event_name = "level_start"

GROUP BY
 event_name,
  chapter_name,
  level_name   

我需要找到只计算一次的用户。那可能吗?例如。如果用户访问级别 2、3 和 4,则此查询将在每个级别中计算他。我只需要在级别 2 上计算用户,而不是其余级别,即如果用户开始任何级别,他将不会被计入后续级别。

标签: mysqlsqlfirebasegoogle-analyticsgoogle-bigquery

解决方案


推荐阅读