oracle使用sum函数进行累加计算


====================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 (partition by tt.mon order 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

 



相关阅读:
Apache伪静态html(URL Rewrite)设置法
在Ubuntu Linux中配置虚拟主机
三种实现方法实现数据表中遍历寻找子节点
MySQL手册版本 5.0.20-MySQL同步(二)
Oracle 8i迁移到10g出现的问题及解决
PHP中对数据库操作的封装
JavaScript For 循环
Oracle DATA数据类型中计算时间差
有利于SEO优化的DIV+CSS的命名规则小结
asp.net 通过httpModule计算页面的执行时间
ASP.NET 在线文件管理
phpMyAdmin下载、安装和使用入门教程
Apache中禁止IP段,在httpd.conf中的写法
Linux通过udev实现U盘自动挂载
快速导航

Copyright © 2016 phpStudy |