繁体   English   中英

使用 SQL (BigQuery) 计算滚动保留

[英]Calculate Rolling retention with SQL (BigQuery)

我有一个包含这些列的登录表:

id - unique id of user
day - days passed since registration (0-30)

这个表中的每条记录都是一个用户登录的记录,所以可能会有相同的行(因为用户一天可以登录多次)。 所以我必须计算有多少用户在他们生命中的某一天(30 天)或之后的任何一天(滚动保留)登录。 输出表应包含包含天数 (1-30) 和用户数量的列。 如果用户在第 30 天登录,我们将他在 30 天之前的每一天都算作留存。 :)

试试这个:

select single_day, count(distinct id)
from mytable, unnest(generate_array(1, day)) as single_day
group by single_day

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM