题解 | #每类视频近一个月的转发量/率#

每类视频近一个月的转发量/率

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

易错点

用max()over()的时候后面不要partition by,更不要order by

  • order by 的作用是求累计最大值

如第一行对应的是其本身,第二行对应前两个数据中的最大值

  • partition by 的作用是分类

这里涉及到题意理解的问题。我本来以为是每个视频以自身最近一次播放的日期为基准,后来才发现是以所有视频最近一次播放的日期为基准,故不用再partition了

select tag,sum(if_retweet) as retweet_cut,
round(avg(if_retweet),3) as retweet_rate
from 
     (select *,max(date(start_time)) over () as 
      latest_time
     from tb_user_video_log )as vl
join tb_video_info as vi
on vl.video_id=vi.video_id
where date_sub(latest_time,interval 30 day)<date(start_time)
group by tag
order by retweet_rate desc
全部评论

相关推荐

01-07 15:50
四川大学 Java
看日出看日落:好好背八股,做算法。我身边跟你bg差不多的基本都大厂暑期
点赞 评论 收藏
分享
lingo12:1.最好加个业务项目,大部分面试官工作以后会更偏重业务 2.实习部分描述一般般,可能hr看到会觉得你产出不够不给你过简历 3.蓝桥杯这些大部分人都有的,不如不写,反而减分项。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务