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

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

https://www.nowcoder.com/practice/ea0c56cd700344b590182aad03cc61b8

with tiaojian as (
select 
date
from login
group by date
),tiaojian1 as (
select
t.m,
round(
count(distinct  case when datediff(t.p,t.m)=1 then t.user_id end)/count(distinct t.user_id),3) as cnt
from(
select 
user_id,
min(date)over(partition by user_id) as m,
lead(date,1)over(partition by user_id order by date) as p
from login
) as t
group by t.m
)


select 
t.date,
ifnull(t1.cnt,0)
from tiaojian t left join tiaojian1 t1 on t.date=t1.m
order by t.date asc

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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