牛客网SQL158

每类视频近一个月的转发量率_牛客题霸_牛客网

题目表达很有歧义,近30的这个概念没有描述清楚,看了题解里才知道是max(start_time) 前的30天,而且其实按照他给出的解释,10.31的近30天是10.2-10.31,而这个范围实际上并不是30天,而是29天( 用timestampdiff(day,'2021-10-02 10:00:00','2021-10-31 10:00:00')可以算出来)

select c.tag,sum(if_retweet),format(sum(if_retweet)/count(*),3) 转发率
from
(
select max(start_time) 基准时间
from tb_user_video_log
) a 
join 
tb_user_video_log b
join 
tb_video_info c
on b.video_id=c.video_id
where timestampdiff(day,b.start_time,a.基准时间)<=29
group by c.tag
order by 转发率 desc

你可能感兴趣的:(SQL-Oracle,sql)