首页 > 解决方案 > BigQuery Firebase 游戏中每个级别的平均硬币

问题描述

我开发了一个带有关卡和硬币的文字游戏(使用 firebase 作为我的后端)。现在,我在尝试查询我的数据库时遇到了一些困难,因此它将输出一个包含游戏中所有级别的表格以及每个级别的平均用户硬币。例如 :

Level     Avg User Coins
0             50
1             12
2             2 

附上我的活动表的图片: 在此处输入图像描述

如你所见,有一个'level_end'事件,然后我们可以看到'user coin'和'level_num'。这样做的正确方法是什么?

这是我到目前为止所做的,显然是错误的方式:

SELECT event_name,user_id
FROM `words-game-en.analytics_208527783.events_20191004`,
  UNNEST(event_params) as event_param
WHERE event_name = "level_end"
AND event_param.key = "user_coins"

标签: sqlfirebase-realtime-databasegoogle-bigquery

解决方案


你似乎想要这样的东西:

SELECT event_param.level_num, AVG(event_param.user_coins)
FROM `words-game-en.analytics_208527783.events_20191004` CROSS JOIN
     UNNEST(event_params) as event_param
WHERE event_name = 'level_end' AND event_param.key = 'user_coins'
GROUP BY level_num
ORDER BY level_num;

我对event_params事件中的内容和直接内容感到有些困惑,因此您可能需要正确限定列引用。


推荐阅读