select tag,
       sum(if_retweet) retweet_cut,
       round(sum(if_retweet)/count(if_retweet),3) retweet_rate
from tb_user_video_log tbu left join tb_video_info tbi on tbu.video_id=tbi.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_add(date,interval expr type)&date_sub(date,interval expr type)——对指定起始时间进行加减操作

date用来指定起始时间date可以是年月日组成的日期,也可以是年月日时分秒组成的日期时间

expr用来指定从起始时间添加或减去的时间间隔

type指示expr被解释的方式

2.where子句里不能包含集函数(在其他大佬的评论区翻到的回复~),得单独写个select子句进行判断