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

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

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


#分组:每类视频每天
#时间单位统一:由于原数据每天都有多条记录,因此先用DATE或date_format统一成天,并先统计出每类视频每天的记录:点赞量和转发量
#每类一周内总点赞量:滑动7天内,当前行到前6行-滑动窗口函数
#每类一周最大单天转发量:当前日及前6天内,当前行到前6行-滑动窗口函数
#国庆头三天:最后在最外层对原数据筛选, 筛选出头3天的滑动窗口。不能在窗口函数那层筛选,否则窗口行数只包含前三天的数据
SELECT
tag,dt,sum_like_cnt_7d,max_retweet_cnt_7d
FROM(
   SELECT
    tag,dt,
    sum(like_cnt)over(partition by tag order by dt ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) sum_like_cnt_7d,
    max(retweet_cnt)over(partition by tag order by dt ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) max_retweet_cnt_7d
  FROM(
   SELECT
    tag,
     DATE(start_time) dt,
     sum(if_like=1) like_cnt,
     sum(if_retweet=1) retweet_cnt
     FROM tb_video_info a
     LEFT JOIN tb_user_video_log b
     ON a.video_id=b.video_id
    where year(start_time)=2021
    group by tag, DATE(start_time)
  ) t1
  group by tag, dt
) t2
where dt between '2021-10-01' and '2021-10-3' #包含区间边界
group by tag, dt
order by tag desc, dt asc


全部评论

相关推荐

牛至超人:我将凌晨两点给你打电话
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务