题解 | #每篇文章同一时刻最大在看人数#
每篇文章同一时刻最大在看人数
https://www.nowcoder.com/practice/fe24c93008b84e9592b35faa15755e48
select artical_id,max(cnt) as max_uv from ( select t2.uid,t2.artical_id,count(distinct t1.uid) cnt from tb_user_log t1,tb_user_log t2 where t1.artical_id = t2.artical_id and t1.in_time <=t2.out_time and t1.out_time >= t2.out_time and t1.artical_id <> 0 group by t2.uid,t2.artical_id )c group by artical_id order by max_uv desc
常规思路,两表连接,取进入时间早于本人,退出时间晚于本人,
为什么不是 u1.in_time <= u2.in_time and u1.out_time > u2.in_time?主要是文章是取同一时刻最大在线人数