首先计算热度所需要的各个小的部分内容,主要是新鲜度,每个视频的最近无播放天数用整个的最近播放的日期与各个视频最近一次播放日期之差来表示 为了方便简历临时表 然后再按照公式计算即可。 with t1 as (select a.video_id video_id,release_time,max(end_time) recent_play_day, sum(if(timestampdiff(second,start_time,end_time)>=duration,1,0))/count(a.video_id) as play_rate, sum(if_like) as lik...