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

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

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


WITH t1 AS (SELECT uid,artical_id,in_time dt,1 diff FROM tb_user_log WHERE artical_id <> 0	
		UNION
		SELECT uid,artical_id,out_time dt,-1 diff FROM tb_user_log WHERE artical_id <> 0	),
    t2 as(
      
		SELECT 
		artical_id, 
    	sum(diff) over ( PARTITION BY artical_id ORDER BY dt ,diff desc) as sum_diff
		FROM t1)
SELECT
	artical_id,max(sum_diff) max_uv
FROM
	t2
GROUP BY
	artical_id
ORDER BY
	max_uv desc


全部评论

相关推荐

溱元:前端每年固定死几次,看两集广告就复活了
点赞 评论 收藏
分享
12-05 18:09
已编辑
广东药科大学 后端工程师
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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