佬们请帮我看看这是错哪儿了?结果不对。只有最高热度的是对的。
select video_id ,round((100*cmp_rt + 5*like_cnt + 3*comment_cnt + 2*retweet_cnt)*new_du) as hot_index from ( select log.video_id ,avg(if(log.end_time -log.start_time >= info.duration, 1, 0)) as cmp_rt ,sum(if_like) as like_cnt ,sum(if(comment_id is not null, 1, 0)) as comment_cnt ,sum(if_retweet) as retweet_cnt ,1 / (1 + datediff('2021-10-03', max(log.end_time))) as new_du from tb_user_video_log log left join tb_video_info info on log.video_id = info.video_id where datediff('2021-10-03', info.release_time) <= 30 group by log.video_id ) a order by hot_index desc limit 3