Sql 查找多个字段的最大值

Sql 查找多个字段的最大值,sql,db2,Sql,Db2,我需要帮助编写sql查询。我有一个报告,其中列的值不同,但我需要有一个额外的列,从上一列中获取最大值,并对每个主键重复该值 我需要这样的东西: COL1-(PK)| COL2-(某些int值)| COL3 max(COL2) 1 0 3 1 3 3 1 2 3 2

我需要帮助编写sql查询。我有一个报告,其中列的值不同,但我需要有一个额外的列,从上一列中获取最大值,并对每个主键重复该值

我需要这样的东西:

COL1-(PK)| COL2-(某些int值)| COL3 max(COL2)
1                 0                   3
1                 3                   3
1                 2                   3
2                10                  15
2                 7                  15
2 15 15

分组依据

SELECT COL1, MAX(COL2) AS MAX
FROM table
GROUP BY COL1
分组

SELECT COL1, MAX(COL2) AS MAX
FROM table
GROUP BY COL1
分组

SELECT COL1, MAX(COL2) AS MAX
FROM table
GROUP BY COL1
分组

SELECT COL1, MAX(COL2) AS MAX
FROM table
GROUP BY COL1
相关子选择用于获取每个col1的max col2值

相关子选择用于获取每个col1的max col2值

相关子选择用于获取每个col1的max col2值

相关子选择用于获取每个col1的最大col2值。

使用窗口函数:

select col1, col2, max(col2) over (partition by col1) as col3
from table t;
这就是这些功能的设计目的

顺便说一下,您的代码似乎表明
col1
是主键。主键不重复,因此这不是主键。

使用窗口功能:

select col1, col2, max(col2) over (partition by col1) as col3
from table t;
这就是这些功能的设计目的

顺便说一下,您的代码似乎表明
col1
是主键。主键不重复,因此这不是主键。

使用窗口功能:

select col1, col2, max(col2) over (partition by col1) as col3
from table t;
这就是这些功能的设计目的

顺便说一下,您的代码似乎表明
col1
是主键。主键不重复,因此这不是主键。

使用窗口功能:

select col1, col2, max(col2) over (partition by col1) as col3
from table t;
这就是这些功能的设计目的


顺便说一下,您的代码似乎表明
col1
是主键。主键不重复,因此这不是主键。

SQL什么?RDBMS请问SQL什么?RDBMS请问SQL什么?RDBMS请问SQL什么?RDBMS谢谢