【发布时间】:2016-06-19 21:41:34
【问题描述】:
我有下表:
+----+----------+----------+----------+
| id | Column1 | Column2 | Column3 |
+----+----------+----------+----------+
| 1 | 1 | 2014 | 0.2 |
| 2 | 1 | 2013 | 0.5 |
| 3 | 2 | 2014 | 1.9 |
| 4 | 2 | 2013 | 1.4 |
| 5 | 2 | 2012 | 1 |
| 6 | 2 | 2011 | 0.4 |
| 7 | 3 | 2016 | 1.4 |
| 8 | 3 | 2015 | 1.2 |
| 9 | 3 | 2014 | 0.7 |
| 10 | 4 | 2015 | 0.5 |
+----+----------+----------+----------+
我需要的是以下内容 我想对具有相同 Column1 值的行进行平均,但最新数据应乘以 0.6,其余数据乘以 0.3
例如
其中Column1 = 1, it should output the value of 0.2*0.6+0.5*0.3
Column1 = 2, 1.9*0.6+((1.4+1+0.4)/3)*0.3
Column1 = 3, 1.4*0.6+((1.2+0.7)/2)*0.3
Column1 = 4, 0.5
编辑:如果这对于一个查询来说太复杂了,我也很乐意做更多的事情。
【问题讨论】:
-
jpql有row_number或者其他窗口函数吗?
-
表格有行号。但我不确定窗口功能。
-
你知道 0.6 + 0.3 不等于 1 吗?因此,如果有 (11,5,2015,0.5) 和 (12,5,2014,0.5) 行,第 5 项的加权平均值将为 0.45 而不是 0.5