牛客网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的格式

相关推荐
啊吧怪不啊吧5 小时前
SQL之参数类型讲解
数据库·sql
与衫15 小时前
在 VS Code 里看清你的数据流向:Gudu SQL Omni 实测体验
数据库·sql
SirLancelot117 小时前
StarRocks-基本介绍(一)基本概念、特点、适用场景
大数据·数据库·数据仓库·sql·数据分析·database·数据库架构
wudl556619 小时前
Flink SQL 窗口函数详细
sql·flink·linq
wudl55661 天前
Flink SQL 与 Kafka 整合详细教程
sql·flink·kafka
wudl55661 天前
flink sql 所有函数详细用例
大数据·sql·flink
小小测试开发1 天前
Python SQLAlchemy:告别原生 SQL,用 ORM 优雅操作数据库
数据库·python·sql·sqlalchemy
满昕欢喜2 天前
SQL Server从入门到项目实践(超值版)读书笔记 28
数据库·sql·sqlserver
DokiDoki之父2 天前
Mybatis—入门 & (配置)SQL提示和日志输出
数据库·sql·mybatis