关于本题, 其实没有啥难度, 关键在于他对近一个月的转发量, 中一个月定义不清晰

开始我想的是 start_time >= date_sub(now(), interval 30 day), 但是一看测试用例发现行不通, 必须以题目提供的最大观看时间往前推一个月

select vi.tag,
    round(sum(ul.if_retweet), 3) as retweet_cut,
    round(sum(ul.if_retweet) / count(1), 3) as retweet_rate
from tb_user_video_log ul
left join tb_video_info vi on ul.video_id=vi.video_id
where ul.start_time >= date_sub((select max(end_time) from tb_user_video_log), interval 30 day)
group by vi.tag
order by retweet_rate desc