题解 | #2021年11月每天新用户的次日留存率#

2021年11月每天新用户的次日留存率

https://www.nowcoder.com/practice/1fc0e75f07434ef5ba4f1fb2aa83a450

select t1.dt,
round(count(t2.uid)/count(t1.uid),2) uv_rate
from (select uid,
min(date(in_time)) dt
from tb_user_log
group by uid) t1
left join
(select uid,date(in_time) dt
from tb_user_log
union
select uid,date(out_time) dt
from tb_user_log) t2
on t1.uid = t2.uid
and t1.dt = date_sub(t2.dt,INTERVAL 1 day) # date_sub的用法
where date_format(t1.dt,'%Y-%m') = '2021-11'
group by t1.dt
order by t1.dt

1、建立用户-第一次登陆时间的新用户表。group by uid

2、左连接用户活跃表(每个用户登入登出去重汇总表)。两个表日期间隔一行连接,左表日期为右表的前一天。

3、计算次日留存率(次日留存用户数/当日新用户数)。

全部评论

相关推荐

11-03 12:40
中山大学 Java
勇敢的突尼斯海怪选钝...:楼主这拒意向话术好得体呀 !求问HR回复态度咋样呀
点赞 评论 收藏
分享
给🐭🐭个面试机会...:我擦seed✌🏻
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务