题解 | #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、计算次日留存率(次日留存用户数/当日新用户数)。

全部评论

相关推荐

2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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