题解 | #牛客每个人最近的登录日期(五)#

牛客每个人最近的登录日期(五)

https://www.nowcoder.com/practice/ea0c56cd700344b590182aad03cc61b8

select a.date, ifnull(round(count(l.user_id)/count(b.user_id),3),0.0)
from
(select distinct date from login ) a
left join
(select user_id,min(date) date from login group by user_id) b
on a.date=b.date
left join login l
on date_add(b.date,interval 1 day)=l.date
and b.user_id=l.user_id
group by a.date
order by a.date
  • 找到所有日期表a
  • 找到所有用户以及第一天登陆日期
  • 连接a b,以a为连接基准
  • 继续连接 login,找到次日留存的情况
  • 使用ifnull控制输出的概率
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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