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

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

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

问题:统计在有用户互动的最近一个月(按包含当天在内的近30天算,比如10月31日的近30天为10.2~10.31之间的数据)中,每类视频的转发量和转发率(保留3位小数)。

首先读题后发现不用建立新表,直接一次连接就可完成。因此我们先考虑如何选出最近一个月这个条件

where date(start_time)>date_sub((select date(max(end_time)) from tb_user_video_log),interval 30 day)

这个条件其实很容易想到,注意这里是用>还是>=,题目中有指出包含最近那一天在内的30天。

这类题我们不需要死记硬背,我们考虑就用最小的数字来类推即可。

如果是30号在内的2天内,那就是29和30号,我们需要date>30-2。同理,我们这里使用>即可。

其他的计算就比较简单 答案代码如下

select tag,sum(if_retweet) as rc,
round(sum(if_retweet)/count(start_time),3) as rr
from tb_user_video_log as a  join tb_video_info as b on a.video_id=b.video_id
where date(start_time)>
date_sub((select date(max(end_time)) from tb_user_video_log),
interval 30 day)
group by tag 
order by rr desc 
全部评论

相关推荐

点赞 评论 收藏
分享
zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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