select tag, sum(if_retweet), round(sum(if_retweet) / count(*),3) as retweet_rate from tb_user_video_log a left join tb_video_info b on a.video_id = b.video_id where date(start_time) > ( select date_sub(MAX(date(start_time)),interval 30 day) from tb_user_video_log ) group by tag order by retweet_rate desc
卡住的点:
(1)不知道怎么计算相差的日期,后面知道了date_sub函数
(2)max函数不能用在where中,因为他是聚合函数,是用在select中的,所以多建立一个子查询。