PostgreSQL,重新编号和累积总和

时间:2014-01-10 10:25:32

标签: postgresql

我有一些临时表(没有主键),因为很少的操作是UNION一起创建的,可以使用以下一个进行模拟:

  DROP TABLE IF EXISTS temp1;
CREATE TEMP TABLE temp1(rownum int, sname text, input_qty decimal(8,3), 
                        output_qty decimal(8,3), cumulativesum decimal(8,3));

INSERT INTO temp1 (rownum, sname, input_qty, output_qty, cumulativesum) 
VALUES (0,   'name 1',   3.186,     0,      0), 
       (0,   'name 2',   0,      0.24,      0), 
       (0,   'name 3',   0,         1,      0), 
       (0,   'name 4',   0.18,  0.125,      0), 
       (0,   'name 5',   0,      1.14,      0); 

在过去的过程中,列'rownum'和'cumulativesum'被故意填充为零。 作为最后两个步骤(或者如果可能的话),我想从开头按+1计算rownum,并在“cumulativesum”列中计算并写入累积和,以准备好或多或少直接写入html文档。
累计金额应计算如下:
lastcumulssum + input_qty - output_qty。

毕竟这应该是操作的结果:

   1,   'name 1'   3.186    0.000      3.186 
   2,   'name 2'   0.000    0.240      2.946 
   3,   'name 3'   0.000    1.000      1.946 
   4,   'name 4'   0.180    0.125      2.001 
   5,   'name 5'   0.000    1.140      0.861 

如果有人可以使用显示的表格编写描述的查询。

PostgreSQL 9.1,Windows 7

0 个答案:

没有答案