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

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

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

# 2021年的国庆前三天的每类视频,这三天中每一天的近一周总点赞数和一周内最大单天转发数
# 先根据限制条件筛选数据,2021年国庆前三天的,还有国庆前一周的,到9.25
# 再得到每类视频每一天的点赞数和转发数(求和即可)
# 总点赞数由累加开窗函数的rows控制窗口是7天,单天最大使用最大函数和控制窗口

WITH temp_0 AS
    (
    SELECT tag, DATE_FORMAT(end_time, "%Y-%m-%d") dt, SUM(if_like) like_cnt, SUM(if_retweet) retweet_cnt 
    FROM tb_user_video_log 
    JOIN tb_video_info USING(video_id)
    WHERE DATE_FORMAT(end_time, "%Y-%m-%d") BETWEEN '2021-09-25' AND '2021-10-03'
    GROUP BY tag, dt
    )

SELECT *
FROM(
    SELECT tag, dt, 
        SUM(like_cnt) OVER(PARTITION BY tag ORDER BY dt ROWS 6 PRECEDING), MAX(retweet_cnt) OVER(PARTITION BY tag ORDER BY dt ROWS 6 PRECEDING) 
    FROM temp_0
    ) a
WHERE MONTH(dt) = 10
ORDER BY tag DESC, dt

踩的坑:,没有加分页关键字,导致全部按日期来分了,忽略了类别

全部评论

相关推荐

11-09 12:17
清华大学 C++
out11Man:小丑罢了,不用理会
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务