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

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

http://www.nowcoder.com/practice/16d41af206cd4066a06a3a0aa585ad3d

此题问:新登录用户次日成功的留存率
    会用到 count() round()
select round(count(l1.date)/count(*),3) p
from login l1
    right join( select user_id,min(date) firstday
            from login group by user_id ) l2
    on l1.user_id = l2.user_id
        and l1.date = DATE_ADD(l2.firstday,INTERVAL 1 day);    
  •     l2 是首次登录的全部用户id与登陆日期
  •     l1 通过user_id右连接l2,且用date_add(次日的日期)限定日期
  •     那么l1.date就是次日还有登录的用户的日期
  •     count(*) 就是 count(l2.firstday)

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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