如何查询实时余额 上一行的实时余额加上这一行的金额,第一行的实时余额等于期初余额汇总加上金额取实时余额,sql该怎么写 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 金额这列值是能够在数据库中直接取得的,期初余额可以根据查询时间和用户得到,实际余额是通过前面两个数取得的。请问实际余额这列怎么用sql获得:第一行的实际余额 = 期初余额+第一行的金额其余行的实际余额 = 上一行的实时余额+该行的金额 实际余额 = lag(实际余额,1,期初余额) + 金额 select 金额, 金额+lag(实际余额,1,期初余额) over(ordre by 类型) from tabname --没测试,上面的不对,直接汇总金额就可以了select 金额, 期初余额+sum(金额)over(ordre by 类型 rows between unbounded preceding and current row ) from tabname 这个意思???create table tb (类型 varchar2(10), 金额 number);insert into tb values ('订单1',200);insert into tb values ('订单2',300);insert into tb values ('订单3',-100);select 类型,金额,100+sum(金额) over (order by 类型) 实时金额 from tb;/*类型 金额 实时金额---------- ---------- ----------订单1 200 300订单2 300 600订单3 -100 500*/drop table tb; 数据库共享锁的问题 如何对一个字符串尾数进行range分区? ORACLE Oracle Directory Manager 登录问题 求sql语句或一个存储过程 sql server 2k个人版在win2k pro上装不上,干脆转oracle玩,问问哪个版能在win2k pro上用. 100分求解 ,在线等待 600分求助 。 A主机通过DBLINK调用B主机储存过程(该过程又通过另一DBLINK写主机C的表)时出错? 查询完一直updates导致栈的溢出 Oracle instance 登陆不上。 oracle11g 导入dmp
请问实际余额这列怎么用sql获得:第一行的实际余额 = 期初余额+第一行的金额其余行的实际余额 = 上一行的实时余额+该行的金额
select 金额, 期初余额+sum(金额)over(ordre by 类型 rows between unbounded preceding and current row ) from tabname
insert into tb values ('订单1',200);
insert into tb values ('订单2',300);
insert into tb values ('订单3',-100);select 类型,金额,100+sum(金额) over (order by 类型) 实时金额 from tb;
/*
类型 金额 实时金额
---------- ---------- ----------
订单1 200 300
订单2 300 600
订单3 -100 500
*/drop table tb;