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

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

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

  • 难点:瞬时计算
  • 思路:
    • 找出所有用户观看的时刻(包含进入与离开,注意去重)作为时间轴
    • 计算每个时间点在观看的人数,即进入时刻不大于该时刻且离开时刻不小于该时刻
    • 对时间点和文章id分组汇总,计算出每个时刻点每篇文章的观看人数
    • 进一步对文章id分组汇总,计算出每篇文章在所有时刻中最大的观看人数
with tmp as
         ((select in_time as dt
           from tb_user_log
           group by in_time
           order by in_time
          )
          union
          (select out_time as dt
           from tb_user_log
           group by out_time
           order by out_time))

select t.artical_id,
       max(t.uv) as max_uv
from (
         select t1.dt, t2.artical_id, count(uid) as uv
         from tmp as t1
                  left join tb_user_log as t2 on t2.in_time <= t1.dt and t2.out_time >= t1.dt
         where t2.artical_id != 0
         group by t1.dt, t2.artical_id
     ) as t
group by t.artical_id
order by max_uv desc;
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 17:28
25届每天都在焦虑找工作的事情0offer情绪一直很低落硬撑着面了一个岗位岗位有应酬的成分面试的时候hr给我出各种场景题问的问题比较犀利&nbsp;有点压力面的感觉感觉有点回答不上来本来就压抑的情绪瞬间爆发了呢一瞬间特别想哭觉得自己特别没用没绷住掉眼泪了事后想想觉得自己挺有病的&nbsp;真的破大防了
喜欢唱跳rap小刺猬...:我觉得没关系吧,之前有一次面试leader给我压力面,我顶住了压力,结果入职的时候发现组里氛围很差,果断跑路。其实从面试就能大概看出组的情况,面试体验好的组倒是不一定好,但是面试体验不好的组。。。就很难说
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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