第一次用到rank函数

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

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

with t as
(
select t.artical_id,t.out_time,t1.in_time,TIMESTAMPDIFF(second,t1.in_time,t.out_time) as time_gap,
       RANK()over(partition by artical_id order by out_time)-1 as rn
from tb_user_log t join tb_user_log t1 on t.artical_id=t1.artical_id
where t.artical_id<>0 and t1.artical_id<>0
)
select artical_id,max(uv) as max_uv
from
(select artical_id,out_time,sum(time_gap>=0)-rn as uv
from t
group by artical_id,out_time) t1
group by artical_id
order by max_uv DESC

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 11:35
程序员小白条:话太多,没实力和学历,差不多回答回答就行了,身份地位不一样
点赞 评论 收藏
分享
强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
陆续:不可思议 竟然没那就话 那就我来吧 :你是我在牛客见到的最美的女孩
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 18:13
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

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