题解 | #近一个月发布的视频中热度最高的top3视频#

近一个月发布的视频中热度最高的top3视频

http://www.nowcoder.com/practice/0226c7b2541c41e59c3b8aec588b09ff

题目要求求:

热度=(a视频完播率+b点赞数+c评论数+d转发数)*新鲜度;

新鲜度=1/(最近无播放天数+1); 当前配置的参数a,b,c,d分别为100、5、3、2。

视频完播率:

sum(if(TIMESTAMPDIFF(second,tu.start_time,tu.end_time)>=tv.duration,1,0))/count(tu.id)

点赞数:sum(tu.if_like)

评论数: count(tu.comment_id)

转发数: sum(tu.if_retweet)

新鲜度:

1/(datediff((Select max(end_time) from tb_user_video_log),max(tu.end_time))+1)

最近一个月发布的视频:

datediff((Select max(end_time) from tb_user_video_log),tv.release_time) <=29

完整代码:

SELECT video_id,round((100*a+5*b+3*c+2*d)/(e+1),0) hot_index
from (
SELECT tu.video_id,sum(if(TIMESTAMPDIFF(second,tu.start_time,tu.end_time)>=tv.duration,1,0))/count(tu.id) a,sum(tu.if_like) b,
count(tu.comment_id) c,sum(tu.if_retweet) d,datediff((Select max(end_time) from tb_user_video_log),max(tu.end_time)) e
from tb_user_video_log tu JOIN tb_video_info tv USING(video_id)
where datediff((Select max(end_time) from tb_user_video_log),tv.release_time) <=29
group by tu.video_id
)t
order by hot_index desc
limit 3
全部评论

相关推荐

程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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