#重点就是找到最近一个月,其余都不难(DATE_SUB(MAX(DATE(end_time)), INTERVAL 29 DAY)
SELECT
tag,
SUM(if_retweet) AS retweet_cnt,
ROUND(SUM(if_retweet) / COUNT(end_time), 3) AS retweet_rate
FROM tb_user_video_log tu
JOIN tb_video_info tv
ON tu.video_id = tv.video_id
WHERE DATE(end_time) >= (SELECT
DATE_SUB(MAX(DATE(end_time)), INTERVAL 29 DAY) #找到最近一个月
FROM tb_user_video_log)
GROUP BY tag
ORDER BY retweet_rate DESC

京公网安备 11010502036488号