题解 | #每类视频近一个月的转发量/率#
每类视频近一个月的转发量/率
http://www.nowcoder.com/practice/a78cf92c11e0421abf93762d25c3bfad
转发量/率计算
- 注意点
- 定义有用户互动的最近一个月,当前最近播放的时间的近一个月,即先查询所有记录中end_time的最大值,然后计算日期差
datediff
小于30(这里的日期差是包括了当天,因此不是小于等于)
- 定义有用户互动的最近一个月,当前最近播放的时间的近一个月,即先查询所有记录中end_time的最大值,然后计算日期差
select
tvi.tag,
sum(tuvl.if_retweet) as retweet_cnt,
round(sum(tuvl.if_retweet) / count(tuvl.video_id), 3) as retweet_rate
from (
select
video_id,
if_retweet,
datediff(max(end_time) over(), end_time) as diff
from tb_user_video_log
) as tuvl
inner join tb_video_info as tvi on (tuvl.video_id = tvi.video_id and tuvl.diff < 30)
group by tvi.tag
order by retweet_rate desc;