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

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

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

SELECT l2.artical_id,
       MAX(l2.uv_current_cnt) AS max_uv
FROM
    (SELECT l1.artical_id, 
            SUM(l1.uv) OVER (PARTITION by l1.artical_id 
            ORDER BY l1.current,l1.uv DESC) AS uv_current_cnt
    FROM(
            SELECT artical_id, in_time AS current, 1 AS uv
            FROM tb_user_log
            WHERE artical_id !=0
            UNION ALL
            SELECT artical_id, out_time AS current, -1 AS uv
            FROM tb_user_log
            WHERE artical_id !=0
        ) AS l1
    ) AS l2
GROUP BY l2.artical_id
ORDER BY max_uv DESC;

#SQL练习##数据查询#
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-23 14:22
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务