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

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

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

# t1 文章每时刻,用户进出记录,若cnt=1,用户进入,cnt=-1,用户离开
# t2 partition by artical_id 按时间累加用户进入数
# group by artical_id, 算同一时刻最大在看用户数
with t1 as ((select uid, artical_id, in_time my_time, 1 as cnt
from tb_user_log
where artical_id != 0 )
union all
(select uid, artical_id, out_time my_time, -1 as cnt
from tb_user_log
where artical_id != 0 )), t2 as (
select artical_id, sum(cnt) over(partition by artical_id order by my_time, cnt desc) as cnt_all
from t1)

select artical_id, max(cnt_all) max_uv
from t2
group by artical_id
order by max_uv desc

全部评论

相关推荐

牛客38347925...:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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