题解 | #每篇文章同一时刻最大在看人数#
#时间戳法解题,分别标记进和出的时间,按时间排序逐个相加 select artical_id,max(view_cnt) max_uv from ( select artical_id, sum(cnt) over(partition by artical_id order by artical_id,check_time,cnt desc) # 整道题的坑体现在这里,要求先加后减 故对时间升序,时间相同时对结果降序 cnt desc view_cnt from ( select artical_id,in_time as check_time,1 as cnt from tb_user_log union all select artical_id,out_time,-1 from tb_user_log )t1 where artical_id<>0 )t2 group by artical_id order by max_uv desc