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

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

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

笔记心得:

就是最近几天求和,需要使用到开窗函数,如果涉及跨行需要开窗的row的知识点

rows n perceding:从当前行到前n行(一共n+1行)
rang/rows between 边界规则1 and 边界规则2:rang表示按照值的范围进行定义框架,rows表示按照行的范围进行定义框架
rows between 2 perceding and 2 following #当前行往前2行+当前行+当前行往后2行(一共5行)
rows between 1 following 3 following #当前行的后1——>后3(共3行)
rows between unbounded preceding and current row #从第一行到当前行

答案

select
*
from 
(select
  c.tag,
  c.dt,
  -- sum(sum(c.like_cnt))over( partition by c.tag order by c.dt desc rows 6 following) as like_cnt
  SUM(c.like_cnt) OVER( PARTITION BY c.tag ORDER BY c.dt  rows 6 preceding ),
  MAX(c.retweet_cnt) OVER( PARTITION BY c.tag ORDER BY c.dt  rows 6 preceding) -- sum(c.retweet_cnt) over( partition by c.tag order by c.dt desc rows 6 following) as retweet_cnt
from
  (
    select
      b.tag,
      date_format(a.start_time, '%Y-%m-%d') as dt,
      sum(a.if_like) like_cnt,
      sum(a.if_retweet) retweet_cnt
    from
      tb_user_video_log a
      left join tb_video_info b on a.video_id = b.video_id
    group by
      b.tag,
      date_format(a.start_time, '%Y-%m-%d')
  )c)d
  where d.dt>=date_format('2021-10-01','%Y-%m-%d') 
  and d.dt<=date_format('2021-10-03','%Y-%m-%d')
  order by d.tag desc ,d.dt 
  

全部评论

相关推荐

企业都这么缺人了吗?缺人为什么还给白菜价!
真起不了响亮的名字:我给你出个主意,把公司报出来,让牛友去投,岂不美哉
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-19 14:46
和女友两个人马上毕业,现在我在鹅实习995,周六日偶尔也去北京;她在北京金融007,经常忙到后半夜,周末也没啥休息机会两个人现在都不咋聊天了,一句话隔半小时甚至半天才回。&nbsp;她是个很优秀的妹子,工作也很努力,是值得学习一辈子的人。我在努力工作求转正,即便不行至少赚到了一段不错的实习经历。已经异地了半年,接下来可能还会持续是这个状态。我们都算是对方重要的人,只是感觉看上去不是很有未来的样子。希望牛友们给点的鼓励
梦旅奇缘:很难。异地首先就已经很难了,加上妹子是金融行业,忙碌高压,对情感需求很高,而且见惯纸醉金迷,你的很多优势在她那里可能就不算什么了。这种情况下,在她们那里遇到一个能及时照顾她的人,即使那人可能很多条件不如你,你也有可能被分手。 说白了,两个卷王就不太适合在一起。因为卷王最大的优势,在另一个卷王那里就不算优势了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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