题解 | #牛客每个人最近的登录日期(五)#
牛客每个人最近的登录日期(五)
http://www.nowcoder.com/practice/ea0c56cd700344b590182aad03cc61b8
select
date,
round(ifnull(count(if(datediff(A.date_1,A.date) = 1,1,null))/count(if(A.num = 1,1,null)),0),3)
from(
select
user_id,
date,
lead(date,1) over(partition by user_id order by date asc) as date_1,
rank() over(partition by user_id order by date asc) as num
from login
) as A group by date
理论上来说是最简单的一种方法了 不需要链接,mysql链接也麻烦