我想基于配置单元中的id值执行聚合

x4shl7ld  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(248)

显示的数据如下:

ID         Tenor     Value   
ABC        10 years  10000
ABC        20 years  20000
ABC        25 years  30000
XYZ        2  years  12000
XYZ        5  years   8000

输出应为:

ID         Tenor     Value   
ABC        10 years  60000---->(30000+20000+10000)
ABC        20 years  50000---->(30000+20000)
ABC        25 years  30000
XYZ        2  years  20000---->(12000+8000)
XYZ        5  years   8000
ovfsdjhp

ovfsdjhp1#

假设 tenor 是数字

select  ID
       ,Tenor

       ,sum(Value) over
        (
            partition by    ID
            order by        Tenor
            rows            between current row
                            and     unbounded following 
        ) as Value

from    mytable
;
+-----+-------+-------+
| id  | tenor | value |
+-----+-------+-------+
| ABC |    10 | 60000 |
| ABC |    20 | 50000 |
| ABC |    25 | 30000 |
| XYZ |     2 | 20000 |
| XYZ |     5 |  8000 |
+-----+-------+-------+

相关问题