其他分享
首页 > 其他分享> > 窗口函数中的滑动窗口

窗口函数中的滑动窗口

作者:互联网

对与需要求最近几个月的什么,需要用到滑动窗口

语法
rows between unbounded preceding and current row

unbounded:无界限
preceding:从分区第一行头开始,则为 unbounded。 N为:相对当前行向前的偏移量
following :与preceding相反,到该分区结束,则为 unbounded。N为:相对当前行向后的偏移量
current row:顾名思义,当前行,偏移量为0

力扣579
现在有一个表员工表,求每个id连续三个月的salary的总和
在这里插入图片描述

1.使用rows —rows between unbounded preceding and current row

表示从当前行开始,对当前行的前两行,总计三行进行求和。

select id,month,
	 sum(salary) over(partition by id order by month rows between 2 preceding and current row) as salary
from employee

得到一张这样的表, 显然不对,因为这里要求连续三个月,七月已经没有连续

在这里插入图片描述

2.如果使用range—RANGE between UNBOUNDED PRECEDING AND CURRENT ROW
select id,month,
	 sum(salary) over(partition by id order by month range between 2 preceding and current row) as salary
from employee

在这里插入图片描述

标签:rows,窗口,函数,unbounded,preceding,current,between,滑动,row
来源: https://blog.csdn.net/weixin_46020795/article/details/120999662