DB2 SQL:组内,将第1列最大时第2列的值赋给每一行
DB2 SQL: within group, assign value of column 2 when column 1 is at maximum, to each row
我有这样的数据,对于 one 组,即有更多这样的数据相互堆叠:
现在,在每个组中,我想创建一个名为 "relationship" 的新列,我在其中取 factor 的值(当 year=2018(最大值) ), 并取每一行的每个因子值除以 2018 年的因子值。
我可以使用 CLT 表达式以两步方式完成此操作,这很好。
编辑:我想要的是这样的:
select 数据。*
,first(factor) over(partition by group order by group, year desc)
或
select 数据。*
,因数超过(其中最大(年))
我理解你的问题的方式与你提供的关系栏的结果不同。
这是一个例子 - 也许你必须调整计算(以防我误解你)
SELECT group
, year
, age
, factor
, factor / first_value(factor) OVER(PARTITION BY group ORDER BY year desc) as relationship
FROM test_r
我有这样的数据,对于 one 组,即有更多这样的数据相互堆叠:
现在,在每个组中,我想创建一个名为 "relationship" 的新列,我在其中取 factor 的值(当 year=2018(最大值) ), 并取每一行的每个因子值除以 2018 年的因子值。 我可以使用 CLT 表达式以两步方式完成此操作,这很好。
编辑:我想要的是这样的:
select 数据。* ,first(factor) over(partition by group order by group, year desc)
或
select 数据。* ,因数超过(其中最大(年))
我理解你的问题的方式与你提供的关系栏的结果不同。 这是一个例子 - 也许你必须调整计算(以防我误解你)
SELECT group
, year
, age
, factor
, factor / first_value(factor) OVER(PARTITION BY group ORDER BY year desc) as relationship
FROM test_r