题解 | 每篇文章同一时刻最大在看人数

每篇文章同一时刻最大在看人数

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

with t 
as(select uid
    ,artical_id
    ,in_time date_time
    ,1 as num
    from tb_user_log
    where artical_id <> 0 

    union all

    select uid
    ,artical_id
    ,out_time date_time
    ,-1 as num
    from tb_user_log
    where artical_id <> 0)

select artical_id
,max(uv) max_uv
from(select uid
    ,artical_id
    ,sum(num)over(partition by artical_id order by date_time,num desc) uv
    from t) t2
group by artical_id
order by max_uv desc
# 窗口函数中要加上num desc,确保同一时刻(有进入有退出时)先计算进入的人






全部评论

相关推荐

01-26 22:20
已编辑
门头沟学院 Java
Java抽象带篮子:项目很nb了,现在好好准备八股和算法吧,早点找实习,可以看看我的置顶帖子。帖子里写了怎么改简历,怎么包装实习经历,还有2个高质量可速成的项目话术,和我的牛客八股笔记专栏
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务