注册 登录
编程论坛 PostgreSQL论坛

求大神帮忙看一下这道题

蕾若 发布于 2018-06-04 22:25, 2770 次点击
【相机】是深受大家喜爱的应用之一,现在我们需要研究相机的活跃情况,需统计如下数据:
某日活跃的用户(uid)在后续的一周内的留存情况(计算次留、三留、七留)
指标定义:
    某日活跃用户数,某日活跃的去重用户数。
    N日留存用户数,某日活跃的用户在之后的第N日活跃用户数。
    N日活跃留存率,N日留存用户数/某日活跃用户数。
例:20180501日去重用户数10000,这批用户20180503日仍有7000人活跃,则3日活跃留存率为7000/10000=70%。

现有数据
数据表名:act_user_info
字段名    字段类型    备注
uid    string    用户唯一标识
app_name    string    应用名称,如相机、微信等
duration    bigint    启动时长,按天汇总
times    bigint    启动次数,按天汇总
dayno    string    表分区字段,如2018-05-01

所需获得的结果格式如下:
日期    活跃用户数    次日留存用户数    三日留存用户数    七日留存用户数    次日留存率    三日留存率    七日留存率
20180501                                   
20180502                                   
20180503                                   
20180504                                   
20180505                                   
20180506                                   
20180507                                   
20180508                                   
20180509                                   
20180510                                   

要求:
1、活跃用户数为整数。
2、留存率表示为百分比,结果保留两位小数。
3、仅一条SQL(或者hive sql)完成。
4、仅需写出实现的查询代码即可。
0 回复
1