Return running max column from another column SQL(从另一列SQL返回正在运行的最大列)
本文介绍了从另一列SQL返回正在运行的最大列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个查询,我想在其中操作一列以返回一个数组,该数组仅包含另一列中最后12个值的最大值(由于查询的其他部分)。
示例: 我想从以下位置添加列MaxLast12:
Month Power
1 10
2 16
3 8
4 14
5 15
6 3
7 6
8 10
9 11
10 12
11 12
12 12
13 18
14 12
To become:
Month Power MaxLast12
1 10 10
2 16 16
3 8 16
4 14 16
5 15 16
6 3 16
7 6 16
8 17 17
9 11 17
10 12 17
11 12 17
12 12 17
13 18 18
14 12 18
如果能够创建一个更简单的解决方案,其中只包含查询中的12行(不会那么准确,但足以达到目的),并且只包含最大值,这也会有所帮助。需要执行以下操作:
Month Power
1 6
2 6
3 8
4 14
5 15
6 3
7 6
8 10
9 11
10 12
11 12
12 12
To become:
Month Power YearMax
1 10 17
2 16 17
3 8 17
4 14 17
5 15 17
6 3 17
7 6 17
8 17 17
9 11 17
10 12 17
11 12 17
12 12 17
因为我猜测这两个问题的解决方案将是相似的,所以任何可能的帮助都是可能的。我希望避免使用usign GROUP BY子句,因为我正在修改一种现有的复杂查询。
尝试使用max()实现此目的,但没有成功。
我正在使用SQL-Developer。
推荐答案
在Oracle中,您将使用窗口函数:
select month, power,
max(power) over (order by month rows between 11 preceding and current row)
from t;
这篇关于从另一列SQL返回正在运行的最大列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:从另一列SQL返回正在运行的最大列


基础教程推荐
猜你喜欢
- 在多列上分布任意行 2021-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
- oracle区分大小写的原因? 2021-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01