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

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

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

with a as (
    select user_id, min(date) as firstlogin
    from login
    group by user_id
),
b as (
    select a.user_id, firstlogin, date as secondlogin
    from a left join login on a.user_id = login.user_id and a.firstlogin = date - interval 1 day
)
select firstlogin as date, round(count(secondlogin)/count(firstlogin), 3) as p
from b
group by firstlogin
union
select date, 0.000 as p from login where date not in (select firstlogin from a)
order by date

挺轻松的,应该是刷多了变强了

全部评论

相关推荐

迷茫的大四🐶:干脆大厂搞个收费培训得了,这样就人均大厂了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-19 14:56
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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