Oracle用sum函数实现累加

发表于:2010-7-26 11:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  ====================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

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号