题解 | #国庆期间每类视频点赞量和转发量#
国庆期间每类视频点赞量和转发量
http://www.nowcoder.com/practice/f90ce4ee521f400db741486209914a11
由表tb_user_video_log里的数据可得只有旅游类视频的播放,2021年9月25到10月3日每天的点赞量和转发量如下:
由上表利用窗口函数可以求出每类截至当天的喜欢数和最大数,要注意是前7天,那就是表示为需要窗口函数的前6条,表示为rows 6 preceding 可以得到:
由于需要筛选出10-1到10-3的数据,所以嵌套一层加条件。注意窗口函数进行分组。
select *
from (
select
tag,
dt,
sum(like_cnt) over(partition by tag order by dt rows 6 preceding) as sum_like_cnt_7d,
max(retweet_cnt) over(partition by tag order by dt rows 6 preceding) as retweet_cnt
from (
select
tvi.tag as tag,
date_format(start_time,'%Y-%m-%d') as dt,
sum(if_like) as like_cnt,
sum(if_retweet) as retweet_cnt
from tb_video_info tvi,tb_user_video_log tuvl
where tvi.video_id=tuvl.video_id
and start_time between date('2021-09-25') and date('2021-10-04')
group by tag,dt
)t
)t1
where dt BETWEEN '2021-10-01' AND '2021-10-03'
ORDER BY tag DESC, dt