查找多个字段的最大值

时间:2015-03-10 14:58:08

标签: sql db2

我需要帮助编写SQL查询。我有一个报告,其中包含不同列的值,但我需要一个额外的列,从前一列获取最大值,并为每个主键重复它。

我需要这样:

COL1-(PK) | COL2-(some int value) | COL3-max(COL2) 1 0 3 1 3 3 1 2 3 2 10 15 2 7 15 2 15 15

3 个答案:

答案 0 :(得分:2)

select col1, col2, (select max(col2) from tablename t2
                    where t1.col1 = t2.col1)
from tablename t1

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

答案 1 :(得分:1)

使用窗口功能:

select col1, col2, max(col2) over (partition by col1) as col3
from table t;

这就是这些功能的设计目标。

顺便说一句,您的代码似乎暗示col1是主键。主键不重复,因此这不是主键。

答案 2 :(得分:0)

GROUP BY

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