题解 | 每类视频近一个月的转发量/率

select v.tag, sum(u.if_retweet) retweet_cnt, round(sum(u.if_retweet)/count(u.start_time), 3) retweet_rate
from tb_user_video_log u
join tb_video_info v
on u.video_id = v.video_id
where datediff(date((select max(start_time) from tb_user_video_log)),date(start_time))<=29
group by v.tag
order by round(sum(u.if_retweet)/count(u.start_time), 3) desc

select max(start_time) from tb_user_video_log:这个子查询从 tb_user_video_log 表中选择最大的 start_time 值,即最新的视频开始观看时间。

date((...)):这个函数将日期时间值转换为日期值,即去掉时间部分,只保留日期。

datediff(date((select max(start_time) from tb_user_video_log)), date(start_time)):datediff 函数计算两个日期之间的天数差。在这里,它计算从最新的视频开始观看时间到每个记录的 start_time(即每个视频的开始观看时间)之间的天数差。

<=29:这个条件确保只选择在过去30天内开始观看的视频记录。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务