select artical_id ,max(viwer) as max_uv
from
(select artical_id,dt,
sum(diff)over(partition by artical_id order by dt,diff DESC) as viwer
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 #出去的人
order by artical_id,dt ) a) b
group by artical_id
order by max_uv desc