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

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天内开始观看的视频记录。

全部评论

相关推荐

牛客44664404...:把个人技能删了搞这么长干什么!还有你面试要先针对那个公司的技术栈专门去准备,别一问三不知,他需要你会他们公司对口的技术,写这么多不对口没有用
点赞 评论 收藏
分享
hwwhwh:同双非,有大厂实习其实也没啥用,主要看运气,等就行了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务