牛客网SQL160

国庆期间每类视频点赞量和转发量_牛客题霸_牛客网

sql 复制代码
select *
from
(
select tag,dt,
sum(单日点赞量)over(partition by tag order by dt rows between 6 preceding and 0 following),
max(单日转发量)over(partition by tag order by dt rows between 6 preceding and 0 following)
from
(
select dt,tag,sum(if_like) 单日点赞量,sum(if_retweet) 单日转发量
from
(
    select id,video_id,if_like,if_retweet,
    date_format(start_time,'%Y-%m-%d') dt
    from tb_user_video_log
    where date_format(start_time,'%Y-%m-%d') between '2021-09-25' and '2021-10-03'
) a
join
(
    select video_id,tag
    from tb_video_info
) b
on a.video_id=b.video_id
group by dt,tag
) c
) d
where dt between '2021-10-01' and '2021-10-03'
order by tag desc,dt

注意点:

  1. date_format中%Y和%y好像不一样 ;

  2. 注意时间相关的函数,如果想当成数字取用要注意是不是带"-"的,小细节问题,如果带"-",你和数字直接去比较肯定不一样。

比较的时候一般用between and比较多

  1. 认识了mysql中三个时间相关的函数:

convert(start_time,char(10))

date_format(start_time,'%Y-%m-%d')

date(start_time)

结果都是2021-09-25的格式

相关推荐
码农阿豪10 小时前
上线前能跑,上线后挂了,三个隐性的SQL陷阱
数据库·sql
乖巧的妹子10 小时前
SQL知识点
数据库·sql·oracle
xd18557855514 小时前
SQL语句生成-基于鸿蒙的AI SQL语句生成应用开发实践
人工智能·sql·华为·harmonyos·鸿蒙
xieliyu.15 小时前
事务原子性、一致性、隔离性、持久性通俗讲解
android·sql·mysql
G.O.G.O.G1 天前
LeetCode SQL 从入门到精通(MySQL)06(上)
数据库·sql·mysql·leetcode
G.O.G.O.G1 天前
《LeetCode SQL 从入门到进阶(MySQL)》06(下)
数据库·sql·oracle
heimeiyingwang1 天前
【架构实战】SQL注入与XSS防御:常见Web漏洞的系统性修复
前端·sql·架构
ClouGence1 天前
跨云、跨地域数据同步,这样更省心
数据库·sql·saas
Csvn2 天前
📊 SQL 入门 Day 4:聚合函数 — COUNT / SUM / AVG / MIN / MAX
后端·sql
哈__2 天前
MCP 协议落地实践:国产化数据库 AI 一站式 SQL 诊断调优方案
数据库·人工智能·sql