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

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

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

select artical_id,max(m) max_uv
from(
    select artical_id,t,
    sum(type) over (partition by artical_id order by t,type desc ) m
    from(
    select artical_id,in_time t ,1 type
    from tb_user_log
    where artical_id != 0 
    union all
    select artical_id,out_time t ,-1 type
    from tb_user_log
    where artical_id != 0 ) t1
) t2
group by artical_id
order by max_uv desc

流程:

一、artical_id和进入时间创建一个表,并且加入一列数字1表示浏览状态

artical_id和进入登出创建一个表,并且加入一列数字-1表示浏览状态

将两张表通过unino all连接

二、使用窗口函数,按id分组时间排序,求出每个时刻的人数,最后去最大值

全部评论

相关推荐

06-20 19:40
中原工学院 Java
网络存储:十几天不会让你拉人办卡就结束了吧?
点赞 评论 收藏
分享
LemontreeN:有的兄弟有的我今天一天面了五场,4个二面一个hr面
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 18:19
个个985的硕士闭着眼睛都有15k以上的月薪,天天嚷嚷着研究生白度读了,天天嚷嚷着反向读研了........
MMMJC:不读研22本科出去的基本都拿28k呢,你不能用25的研究生和25的本科生比然后说没反向读研,而是25研和22本比呀
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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