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

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

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

服了我做的好复杂
with u as
(select user_id,date,dense_rank()over(partition by user_id order by date)as rk
from login l),

a as
(select user_id,date,rk
from u
group by user_id,date,rk),

b as 
(select x.user_id,x.date as start,y.date as end
from a x
left join a y 
on x.user_id=y.user_id and x.rk=y.rk-1
where x.rk=1)

select round(sum(if(datediff(end,start)=1,1,0))/count(*),3) as p
from b

全部评论

相关推荐

King987:待优化的地方还是挺多的,可以参考一下我的作品优化一下,优化不好的话也可以找我
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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