牛客SQL练习-68-牛客每个人最近的登录日期(三)

在这里插入图片描述
在这里插入图片描述
思路:

  1. (第一天登录的新用户并且第二天也登录的用户)/(总用户)即为新登录用户的次日成功的留存率
    总用户计算如下:
select count(distinct user_id) from login
  1. 找到每个用户第一天登陆的日子,和前面找最近登录的日子差不多,一个是max,一个是min,如下:
select user_id,min(date) from login group by user_id
  1. 找到所有的在第一天登录的新用户并且第二天也登录的用户,以及第二天的日期,如下:
select user_id,date(min(date),'+1 day') from login group by user_id
  1. 从这个里面找到所有的count(distinct user_id)除以总用户就可以得到结果,整个sql语句如下:
SELECT round( count( DISTINCT user_id )* 1.0 /( SELECT count( DISTINCT user_id ) FROM login ),
	3 
) 
FROM
	login 
WHERE
	( user_id, date ) IN ( SELECT user_id, date( min( date ), '+1 day' ) FROM login GROUP BY user_id )

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值