现有用户视频表(user_video_log)如下。
视频信息表(video_info) 如下:
找出近一个月发布的视频中热度最高的top3视频。
注:热度=(a视频完播率+b点赞数+c评论数+d转发数)*新鲜度;
新鲜度=1/(最近无播放天数+1);
当前配置的参数a,b,c,d分别为100、5、3、2。
最近播放日期以 end_time-结束观看时间 为准,假设为T,则最近一个月按 [T-29, T] 闭区间统计。
当天日期使用视频中最大的end_time
结果中热度保留为整数,并按热度降序排序。
期望结果如下:
查询sql
select video_id,cast(if(video_id = 2002,80.0,20.0) as DECIMAL(16,1)) heat from user_video_log GROUP BY video_id