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

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

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

with a1 as(select video_id
,sum(finish_show_cnt)/count(*) finish_rate
,sum(if_like) sum_like
,count(comment_id) sum_comment
,sum(if_retweet) sum_retweet
,any_value(min_day_gap) min_day_gap
from (
select video_id,finish_show_cnt,if_like,comment_id,if_retweet
,min(datediff(recent_date,date))over(partition by video_id) min_day_gap 
from (
select t1.video_id,date(end_time) date,release_time
,case when (timestampdiff(second,start_time,end_time)/duration) >=1 then 1 else 0 end finish_show_cnt
,if_like,comment_id,if_retweet 
,max(date(end_time))over(order by video_id) recent_date
from tb_user_video_log t1
left join tb_video_info t2 
on t1.video_id = t2.video_id) a
where datediff(recent_date,release_time) <= 29) b
group by video_id)
select video_id
,round((100*finish_rate+5*sum_like+3*sum_comment+2*sum_retweet)/(min_day_gap + 1),0) hot_index
from a1
order by hot_index desc
limit 3;

全部评论

相关推荐

求面试求offer啊啊啊啊:这个在牛客不是老熟人了吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
03-29 08:32
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务