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

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

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

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_ADD(min(date),INTERVAL 1 DAY) from login group by user_id);

1、找到每个用户第一天登录的日期和次日也登录的记录

where (user_id,date) in (
  select user_id,
  	DATE_ADD(min(date),INTERVAL 1 DAY) 
  from login 
  group by user_id);

2、所有用户的个数

select count(distinct user_id) 
from login

3、记录次留存率

round(count(distinct user_id)*1.0/(select count(distinct user_id) from login) 
	  ,3)

4、完整代码如下

select round(count(distinct user_id)/(
    select count(distinct user_id) 
    from login) 
    ,3)
from login
where (user_id,date) in (
    select user_id,DATE_ADD(min(date),INTERVAL 1 DAY) 
    from login 
    group by user_id);

全部评论

相关推荐

12-26 14:44
复旦大学 Java
点赞 评论 收藏
分享
活泼的代码渣渣在泡池...:哈哈哈挺好的,我也上岸美团了,不说了,我又接了一单
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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