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

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

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

WITH t AS (
    SELECT
    tag,
    DATE(start_time) AS dt,
    SUM(if_like) sum_like_cnt,
    SUM(if_retweet) sum_retweet_cnt
    FROM tb_user_video_log
    JOIN tb_video_info USING(video_id)
    GROUP BY tag,dt
),

# SELECT
# tag,
# dt,
# SUM(sum_like_cnt) OVER(PARTITION BY tag ORDER BY dt ROWS 6 PRECEDING) AS sum_like_cnt_7d,
# MAX(sum_retweet_cnt) OVER(PARTITION BY tag ORDER BY dt ROWS 6 PRECEDING) AS max_retweet_cnt_7d
# FROM t
# GROUP BY tag,dt
# HAVING dt BETWEEN '2021-10-01' AND '2021-10-03';
# 这样是错的,窗口函数最好单独用

t2 AS (SELECT
tag,
dt,
SUM(sum_like_cnt) OVER(PARTITION BY tag ORDER BY dt ROWS 6 PRECEDING) AS sum_like_cnt_7d,
MAX(sum_retweet_cnt) OVER(PARTITION BY tag ORDER BY dt ROWS 6 PRECEDING) AS max_retweet_cnt_7d
FROM t)

SELECT
tag,
dt,
sum_like_cnt_7d,
max_retweet_cnt_7d
FROM t2
WHERE dt BETWEEN '2021-10-01' AND '2021-10-03'
ORDER BY tag DESC,dt

全部评论

相关推荐

人醒着就会困:直接回答,"你刚才提到你是百度JAVA,那么你相对于字节JAVA的优势在哪里?"
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务