表结构及数据如上,在Oracel中写视图语句求每天的DS累计??然后在页面中以日期为条件SELECT * FROM 视图 WHERE RQ='' 来显示当天的DS累计,拿zu2举例,5月1号为1881.1,那么5月2号就应该为1881.1+1353.9,以此类推,也就是说在查询出来的表中,5月份每天的生产累计都要显示的,不是只显示一天的,最后所查询出的结果除了DS字段的值不一样外,其它的完全一样,在线等待。。
解决方案 »
- 详细资料 ORA-12505: TNS: 监听程序当前无法识别连接描述符中所给出的 SID (DBD ERROR: OCIServerAttach)(在线等)
- XP安装oracle 9i 报错
- 判断两个星期是否在同意星期内?
- 触发器问题
- oracle中求两日期之间间隔的天数用什么函数?
- 按照时间排序的问题?
- 急:请问LogMiner 在哪里能下载?在线等!!
- java开发存储过程,如何让结果返回一个或多个记录集,请大家给点建议
- 要把value的第一个字符为"_"的查出来该怎么办?如:"_hhwe","_wei"
- 一个导入数据表的问题?急!! supershb(phenix)请进.
- 这个SQL语句怎么理解?
- 数据集做差集
====================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
rollup() over ()分析函数!