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

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

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

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
        b.tag as tag,
        date_format(a.start_time,'%Y-%m-%d') as dt,
        sum(a.if_like) as like_cnt,
        sum(a.if_retweet) as retweet_cnt
    from 
       tb_user_video_log a left join  tb_video_info b
       on a.video_id = b.video_id
    where
        date_format(a.start_time,'%Y-%m-%d') >= '2021-09-25'
        and date_format(a.start_time,'%Y-%m-%d') <= '2021-10-03'
    group by 
        b.tag,
        date_format(a.start_time,'%Y-%m-%d')    
) t1
)t2
where
    dt in ('2021-10-01','2021-10-02','2021-10-03')
order by
    tag desc, dt

注:

sum(like_cnt)over(partition by tag order by dt rows 6 preceding)

日期升序,当前行+向前取6行

笔记:

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 #从第一行到当前行

全部评论

相关推荐

门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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