SELECT artical_id,MAX(UV) AS max_uv FROM 
(SELECT artical_id,uid,dt,
SUM(tag) OVER(PARTITION BY T1.artical_id ORDER BY dt ASC ,tag DESC ) AS UV
FROM 
(
    SELECT artical_id,uid,in_time AS dt,1 AS tag
    FROM tb_user_log
    WHERE artical_id !=0
    UNION
    SELECT artical_id,uid,out_time  AS dt,-1 AS tag
    FROM tb_user_log
    WHERE artical_id !=0
) AS T1) AS T2
GROUP BY artical_id
ORDER BY max_uv DESC;