如何使用Oracle SQL中的SUM函数生成以下输出?

Gau*_*ara 3 sql oracle

我有一个基于Sum Function的SQL编程问题.假设,我有下表.

       ID   Values 

        1     20
        1     30
        1     100
        2     10
        2     1
        2     12
        3     45
        3     66
Run Code Online (Sandbox Code Playgroud)

如何计算与ID相关的值的总和并将其添加到新列.我也想按ID分组.例如:

           ID  Values  Total_Value

            1    20       150
            1    30       150
            1    100      150
            2    10       23
            2    1        23 
            2    12       23
            3    45       111
            3    66       111
Run Code Online (Sandbox Code Playgroud)

任何建议,将不胜感激.谢谢 !

a_h*_*ame 5

这可以使用窗口函数轻松完成:

select id, 
       value,
       sum(value) over (partition by id) as total_value_for_id
from the_table
order by id;
Run Code Online (Sandbox Code Playgroud)