select t2.tag, sum(if_retweet) as retweet_cut, round(sum(if_retweet) / count(1), 3) as retweet_rate from tb_user_video_log t1 join tb_video_info t2 on t1.video_id = t2.video_id where datediff ( ( select max(start_time) from tb_user_video_log ), t1.start_time ) <= 29 group by t2.tag order by retweet_rate desc;