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

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

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

WITH a AS(
    SELECT artical_id, uid, in_time checktime, 1 uv
    FROM tb_user_log
    WHERE artical_id != 0
    UNION ALL
    SELECT artical_id, uid, out_time checktime, -1 uv
    FROM tb_user_log
    WHERE artical_id != 0
),
b AS(
    SELECT *,
    SUM(uv) OVER(PARTITION BY artical_id ORDER BY checktime,uv DESC) watch_num
    FROM a
),
c AS(
    SELECT artical_id,MAX(watch_num) max_uv
    FROM b
    GROUP BY artical_id
)
SELECT artical_id, max_uv
FROM c
ORDER BY max_uv DESC

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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