在这个id的分区中对每行数据求和,但是我between的数据就是本行and本行,rows的数据是对的,被between限制了,但是range是仍旧计算整个分区的数据的
rang和rows的区别
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 range不是指的数据记录的范围,而是字段值的范围。
而且你这个截图的语法不对吧,这种移动窗口是必须要有order by 的,否则会报错加上order by 后的输出结果是这样的
注意结果中id为4、num1为-3的行,由于等于“current row”的值有两行,因此求和的结果为-6
另外,你既然只是取当前行,何必写个开窗函数呢?如果你是想统计多行,用 “between 1 preceding and current row”这样的写法,也要注意rows和range的区别,当用rows时,"1 preceding"表示往前一行,当用range时,“1 preceding”表示当前值减1的结果对应的所有行。我这篇文章中对此有个举例说明
【ORACLE】21c版本中分析函数的加强(window、exclude、groups)_DarkAthena的博客-CSDN博客 前言在21c版本中,分析窗口得到了增强,支持了WINDOW子句,并且在窗口中增加支持EXCLUDE及GROUPS。以下以HR Schema Demo为例,可以在墨天轮在线实训环境进行验证Oracle 21c 实训环境1.window在21c之前,如果我们要对同一个窗口进行多次统计分析,一般是像下面这么写sqlselect EMPLOYEE_ID, FIRST_NAME, LAST_NAME, salary, sum(salary) ove https://darkathena.blog.csdn.net/article/details/122580517?spm=1001.2014.3001.5502解决 无用评论 打赏 举报
悬赏问题
- ¥15 C++ 句柄后台鼠标拖动如何实现
- ¥15 有人会SIRIUS 5.8.0这个软件吗
- ¥30 comsol仿真等离激元
- ¥15 静电纺丝煅烧后如何得到柔性纤维
- ¥15 (标签-react native|关键词-镜像源)
- ¥100 照片生成3D人脸视频
- ¥15 伪装视频时长问题修改MP4的时长问题,
- ¥15 JETSON NANO
- ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
- ¥20 关于 openpyxl 处理excel文件地问题