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

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

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

with log
as(
    select
    uid
    ,artical_id
    ,in_time dt
    ,1 is_in
    from tb_user_log
    where artical_id != 0 and artical_id != '0'

    union all

    select
    uid
    ,artical_id
    ,out_time dt
    ,-1 is_in
    from tb_user_log
    where artical_id != 0 and artical_id != '0'
)
select
artical_id
,max(uv) max_uv
from
(
    select
    artical_id
    ,dt
    ,sum(is_in)over(partition by artical_id order by dt, is_in desc) uv
    from log
) a
group by artical_id
order by max_uv desc

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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