# 首先没看懂题目,看了下高赞回答的解释,非常感谢 # 查询有用户互动的最大日期 select date(start_time) max_day from tb_user_video_log order by start_time desc limit 1 # 统计最大日期近一个月内每类视频的转发量和转发率,将datediff()用到连接条件中,实现筛选功能(只留下近一个月内的记录) select tag, sum(if_retweet) retweet_cnt,round(avg(if_retweet=1),3) retweet_rate from tb_user_video_log tv join tb_video_info ti on tv.video_id=ti.video_id join ( select date(start_time) max_day from tb_user_video_log order by start_time desc limit 1 ) k1 on datediff(k1.max_day, date(start_time))<30 group by tag order by retweet_rate desc;