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

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

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

select
    artical_id,
    max(cnt) as max_uv
from
    (
        select
            artical_id,
            dt,
            SUM(diff) OVER (
                PARTITION BY
                    artical_id
                ORDER BY
                    dt,diff desc
            ) as cnt
        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
            ) t1
    ) t2
group by
    artical_id
order by max_uv desc;
#  这道题是看了题解才写出来的,但是这个思路学到了。

全部评论

相关推荐

争当牛马还争不上
码农索隆:1.把简历改哈 2.猛投,狠投 3.把基础打牢 这样你在有机会的时候,才能抓住
点赞 评论 收藏
分享
水墨不写bug:疑似没有上过大学
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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