DB2SQL:在组中,当列1最大时,将列2的值分配给每一行

DB2SQL:在组中,当列1最大时,将列2的值分配给每一行,db2,partition,Db2,Partition,我有这样的数据,对于一组,也就是说,有更多这样的数据堆叠在彼此的顶部: 现在,在每个组中,我想创建一个名为relationship的新列,其中我在year=2018 maximum时取因子值,然后取每行因子值除以2018因子值。 我可以用CLT表达式以两步方式完成这项工作,这很好 编辑:我想要的是这样的: 选择数据* ,第一因子按组超额分配,按组排序,年份描述 或 选择数据* ,maxyear上的因子我对您的问题的理解方式与您提供的关系栏的结果不同。 这里有一个例子-也许你必须坚持计算,以防我误

我有这样的数据,对于一组,也就是说,有更多这样的数据堆叠在彼此的顶部:

现在,在每个组中,我想创建一个名为relationship的新列,其中我在year=2018 maximum时取因子值,然后取每行因子值除以2018因子值。 我可以用CLT表达式以两步方式完成这项工作,这很好

编辑:我想要的是这样的:

选择数据* ,第一因子按组超额分配,按组排序,年份描述

选择数据*
,maxyear上的因子

我对您的问题的理解方式与您提供的关系栏的结果不同。 这里有一个例子-也许你必须坚持计算,以防我误解你

SELECT group
     , year
     , age
     , factor
     , factor / first_value(factor) OVER(PARTITION BY group  ORDER BY year desc) as relationship
  FROM test_r

小组专栏在哪里?对不起,我可能表达得不清楚。你看到的上面的数据,图像,是一组,比如说组=1。在每个小组中,我都想做解释性的操作精彩绝伦,我不知道第一个_值函数,非常感谢!我假设我可以毫无问题地把分数转过来,所以我认为这完全解决了问题: