SQL 移动累计值

诺依曼型递归集合

-- 建表
drop table if exists accounts;
create table accounts(
prc_date date,
prc_amt int8
);
insert into accounts values(20061026,12000);
insert into accounts values(20061028,2500);
insert into accounts values(20061031,-15000);
insert into accounts values(20061103,34000);
insert into accounts values(20061104,-5000);
insert into accounts values(20061106,7200);
insert into accounts values(20061111,11000);

--测试

select prc_date, a1.prc_amt,
(select sum(prc_amt) from accounts a2
where a1.prc_date >= a2.prc_date) as onhand_amt
from accounts a1
order by prc_date;

猜你喜欢

转载自www.cnblogs.com/linyijia/p/11230629.html