SUM 和除以 Partition by - Oracle

SUM and divide with Partition by - Oracle

我有以下table

id    rate   contractrate    program
1     100      100             low
2     100       50             low
3     250      250             Med
3     250      200             Med
4     500      500             High
5     500      400             High

我想对 contractrate/rate 求和并按程序进行分区,这在 window 函数中可行吗?

Yes就是答案。

试试这个:

SELECT id,rate,contractrate,program
    ,SUM(contractrate/rate) OVER(PARTITION BY program ORDER BY ID)Res
FROM Your_table