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

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

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

# 思路:
# 1、将进入的人和出的人分别用1和-1表示,进入则在线人数+1,退出则在线人数-1
# 2、用union 将进入和退出的记录合并,生成一张总表,表示每个时间点进入和退出的情况
# 3、针对每条记录,计算截至当前的人数总和,取最高。
# 备注:注意同一时间段进入退出都存在,则先算进入,后算退出,因此计算sum时要将进入排在退出前。
select t2.artical_id,max(sum_num) FROM (
select t1.artical_id
    ,sum(t1.diff) over(partition by t1.artical_id  order by t1.dt asc,t1.diff desc) as sum_num 
from (
select artical_id,in_time as dt,1 as diff 
from tb_user_log where artical_id != 0 
union ALL
select artical_id,out_time as dt,-1 as diff 
from tb_user_log where artical_id != 0 ) t1 
) t2 group by t2.artical_id order by max(t2.sum_num) desc 





全部评论

相关推荐

昨天 13:04
已编辑
门头沟学院 算法工程师
智谱和米哈游都是ai大模型agent的业务钱的话还是米更多,几乎翻倍了,有没有老哥是两个公司其中一个的,能问问转正率咋样嘛,我问的hr回答都是做的好就可以转正暑期实习
码农索隆:选米哈游:短期高薪、敢承担风险、具备强创新能力,且愿押注游戏AI赛道。 选智谱:稳定性与行业通用能力积累,接受薪资差距以换取更稳妥的职业基础。
投递北京智谱华章科技等公司10个岗位 > 实习期间如何提升留用概率?
点赞 评论 收藏
分享
喜欢疯狂星期四的猫头鹰在研究求职打法:短作业优先
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务