表结构及数据如上,在Oracel中写视图语句求每天的DS累计??然后在页面中以日期为条件SELECT * FROM 视图 WHERE RQ='' 来显示当天的DS累计,拿zu2举例,5月1号为1881.1,那么5月2号就应该为1881.1+1353.9,以此类推,也就是说在查询出来的表中,5月份每天的生产累计都要显示的,不是只显示一天的,最后所查询出的结果除了DS字段的值不一样外,其它的完全一样,在线等待。。
表结构及数据如上,在Oracel中写视图语句求每天的DS累计??然后在页面中以日期为条件SELECT * FROM 视图 WHERE RQ='' 来显示当天的DS累计,拿zu2举例,5月1号为1881.1,那么5月2号就应该为1881.1+1353.9,以此类推,也就是说在查询出来的表中,5月份每天的生产累计都要显示的,不是只显示一天的,最后所查询出的结果除了DS字段的值不一样外,其它的完全一样,在线等待。。
====================Question=========================jmbdat dayt y mon
27-9月 -07 2033.2 2007 200709
28-9月 -07 2750.28 2007 200709
29-9月 -07 2885.68 2007 200709
30-9月 -07 2556.68 2007 200709
01-10月-07 2903.04 2007 200710
02-10月-07 1002.96 2007 200710
03-10月-07 1038.24 2007 200710
对上边的表用sql处理下 变成下面的 jmbdat dayt y mon mont
27-9月 -07 2033.2 2007 200709 2033.2
28-9月 -07 2750.28 2007 200709 4783.28
29-9月 -07 2885.68 2007 200709 7669.16
30-9月 -07 2556.68 2007 200709 20225.84
01-10月-07 2903.04 2007 200710 2903.04
02-10月-07 1002.96 2007 200710 3906
03-10月-07 1038.24 2007 200710 4944.24
该怎么做啊?==================Solution=========================SQL:select tt.*,
sum(tt.dayt)over(partitionby tt.monorder by tt.jmbdat,tt.y,tt.mon)as sum_dayt
from tablename tt;
Result :JMBDAT DAYT Y MON SUM_DAYT
----------- ---------- ---------- ------ ----------
2007-9-27 2033.2 2007 200709 2033.2
2007-9-28 2750.28 2007 200709 4783.48
2007-9-29 2885.68 2007 200709 7669.16
2007-9-30 2556.68 2007 200709 10225.84
2007-10-1 2903.04 2007 200710 2903.04
2007-10-2 1002.96 2007 200710 3906
2007-10-7 1038.24 2007 200710 4944.24 7 rows selected
select tt.*,
sum(tt.dayt) over(partition by tt.mon order by tt.jmbdat,tt.y,tt.mon)as sum_dayt
from tablename tt;
论坛的"空格"有点不好使.
还有一种方法用SUM+GROUP BY实现的累加:SQL> SELECT E1.EMPID, E1.EMPNAME, E2.DEPTID, SUM(E2.SALARY)
2 FROM EMP E1, EMP E2
3 WHERE E1.DEPTID = E2.DEPTID
4 AND E1.EMPID >= E2.EMPID
5 GROUP BY E1.EMPID, E1.EMPNAME, E2.DEPTID; EMPID EMPNAME DEPTID SUM(E2.SALARY)
---------- -------------------- ---------- --------------
1 Xie_Feng 1 8000
2 mantisXF 1 11000
3 Roger 1 17000
4 Tony 1 19500
5 Ning 1 23300
6 Sandip 2 7000
7 Akanksha 2 12500
8 Subhash 2 173008 rows selected
FYI:
http://blog.csdn.net/mantisXF/archive/2008/07/28/2723787.aspx