with a as(
    select 
        tvi.tag,
        sum(tuvl.if_retweet) as retweet_cnt,
        round(sum(tuvl.if_retweet)/count(tuvl.video_id),3) as retweet_rate
    from    
        tb_user_video_log as tuvl
        left join tb_video_info as tvi on tuvl.video_id = tvi.video_id
    where
        date(tuvl.start_time) between date_sub(date((select max(end_time) from tb_user_video_log)),INTERVAL 29 day) and date((select max(end_time) from tb_user_video_log))
    group by 
        tvi.tag
    order by 
        retweet_rate desc
)
select * from a