题解 | #国庆期间每类视频点赞量和转发量#

国庆期间每类视频点赞量和转发量

https://www.nowcoder.com/practice/f90ce4ee521f400db741486209914a11

# 3. 窗口函数后,如果需要设置日期condition,必须进行全选后再加上日期和排序条件,否则会对窗口函数的结果有影响。
select * from (
# 2. 计算近一周总点赞量和一周内最大单天转发量
select tag, dt, 
sum(if_like) over(partition by tag order by dt rows 6 preceding) as sum_like_cnt_7d,
max(if_retweet) over(partition by tag order by dt rows 6 preceding) as max_retweet_cnt_7d
from(
# 1. 计算每个类别每天的点赞量和转发量
select tag, dt, sum(if_like) as if_like, sum(if_retweet) as if_retweet from(
    select tb_user_video_log.video_id, date_format(start_time,"%Y-%m-%d") as dt,
    tag, if_like, if_retweet from tb_user_video_log
    left join tb_video_info
    on tb_video_info.video_id = tb_user_video_log.video_id
)t
group by tag, dt
)t1
)t2
where dt between "2021-10-01" and "2021-10-03"
order by tag desc, dt

累加连续7天的值:sum(x) over(partition by xx order by xxx rows 6 preceding)

果需要对时间和顺序设置条件,一定要放置在窗口函数后!在窗口函数后,进行全选再加上日期和排序条件。否则会对窗口函数的结果有影响。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务