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

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

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

易错点/关键点——执行顺序

若只有两层,外层就用where筛选出国庆三天数据:

    1. 得到题目解释部分表格q1
    1. 取q1中国庆三天的信息,逐一得到所需变量,故sum()和max()虽然要求范围框在本行及前六行,但由于只取了三行数据,故只能在三行基础之上取sum()和max()

若取三层,最外层用where筛选出国庆三天数据:

    1. 得到题目解释部分表格q1
    1. 得到包含q1每一天的近一周的sum()和max()表格q2
    1. 取q2中国庆三天的数据
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 max_retweet_cnt_7d
      from 
          (select tag,date(start_time) as dt,
          sum(if_like) as like_cnt,sum(if_retweet) as retweet_cnt
          from tb_user_video_log as vl
          join tb_video_info as vi
          on vl.video_id=vi.video_id
          where start_time between '2021-09-25 00:00:00' 
          and '2021-10-03 23:59:59'
          group by tag,dt
          order by tag,dt
          ) as q1
       ) as q2
where dt='2021-10-01' or dt='2021-10-02' or dt='2021-10-03'
order by tag desc,dt asc
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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