ITPUB??ì3
12月微软Hyper-V虚拟化沙龙主题征集
ITPUB论坛 » Oracle开发 » 重复数据结果累计统计例子

标题: 重复数据结果累计统计例子
在线/呼叫 biti_rainy
人生就是如此



精华贴数 38
个人空间 0
技术积分 111199 (4)
社区积分 11832 (132)
注册日期 2001-12-12
论坛徽章:41
现任管理团队成员ITPUB长老会成员ITPUB元老年度论坛发贴之星年度论坛发贴之星ITPUB北京九华山庄2008年会纪念徽章
管理团队2007贡献徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章管理团队2006纪念徽章会员2007贡献徽章会员2006贡献徽章

发表于 2002-1-17 18:07 
重复数据结果累计统计例子

不保障效率哦(结果太多……嘿嘿,如果有上万记录请自己好好测试)

如果我要累加的中的一个字段有重复(上次的方法好像不能使用〕如表testinx:
Q1    Q2
1      1
2      2
3      3
4      4
4      5
5      5
5      6
我要对Q2进行累加,而保持Q1,希望得到的结果如下:
1      1
2      3
3      6
4      10
4      15
5      20
5      26

例子如下:

select sum(a.q2),b.q1,b.num from
(select rownum num,q1,q2 from (select q1,q2 from testinx order by q1))  a,
(select rownum num,q1,q2 from (select q1,q2 from testinx order by q1))  b
   where a.num<=b.num group by b.num,b.q1;

取出来的值多了一个num,如果必须去掉(在前台不好控制),则:

select temp.sumq2,temp.q1
       from
       (select sum(a.q2) sumq2,b.q1 q1,b.num from
              (select rownum num,q1,q2 from (select q1,q2 from testinx order by q1))  a,
              (select rownum num,q1,q2 from (select q1,q2 from testinx order by q1))  b
               where a.num<=b.num group by b.num,b.q1
        ) temp;





__________________
眼界决定边界,态度决定高度
blog:
人生就是如此
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问