繁体   English   中英

对基于ID的计算值求和

[英]SUM a calculated value based on ID

所以我有这样的事情:

SELECT WB.ID,
((WB.DUR+WB.DUR)*((coalesce(t.total,0)) + (coalesce(tx.total,0)))/(DURA.TOTDUR+DISTA.TOTDIST)) as X,
...
...
...

我正在尝试基于WB.ID求和X

DURA和DISTA都联接,不是数据库表(本地)。 t和tx也一样

ID  X
25  2127.480000
26  6.200000
32  47.120000
33  0.360000
33  1.550000
33  0.240000
42  49.590000
44  21.850000
52  162.670000

结果:

ID  X           SUM(X)
25  2127.480000 2127.480000
26  6.200000    6.200000
32  47.120000   47.120000
33  0.360000    2.150000
33  1.550000    2.150000
33  0.240000    2.150000
42  49.590000   49.590000
44  21.850000   21.850000
52  162.670000  162.670000

从示例数据来看,使用窗口函数看起来像是一个简单的总和:

select id, 
       x, 
       sum(x) over (partition by id) as sum_x
from the_table
order by id;

如果x是另一个查询的结果,请使用派生表:

select id, x, 
       sum(x) over (partition by id) as sum_x
from (
  select ...., 
         ... as x
  from ...
) t
order by id;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM