重复数据结果累计统计例子
不保障效率哦(结果太多……嘿嘿,如果有上万记录请自己好好测试)
如果我要累加的中的一个字段有重复(上次的方法好像不能使用〕如表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;
|