select k.quarter,k.wxpect1,k.expect2,k.fact1,k.fact2 from 表 k where exists(select sum(d.wxpect1),sum(d.expect2),sum(d.fact1),sum(d.fact2) from 表 d where d.quarter in(k.quarter)

解决方案 »

  1.   

    select a.quarter,sum(b.expect1),sum(b.expect2),sum(b.fact1),sum(b.fact2) from yourtable a, yourtable b
    where b.quarter<=a.quarter
    group by a.quarter;
      

  2.   

    select QUARTER,EXPECT1,
           sum(EXPECT1) over (partition by substr(QUARTER,1,4) order by QUARTER)
              as EXPECT1_sum
      from table1;
      

  3.   

    对了,还有点没搞清楚,就是2003年第一季度是不是2002年所有的和加上本季度的值,如果是这样,就用下面这个,去掉分组select QUARTER,EXPECT1,
           sum(EXPECT1) over (order by QUARTER)
              as EXPECT1_sum
      from table1;
      

  4.   

    以季度来分组:
    select QUARTER,EXPECT1,sum(EXPECT1) over(partition by substr(QUARTER,5,1) order by substr(QUARTER,1,4)) from tab1 order by QUARTER
    以年来分组:
    select QUARTER,EXPECT1,sum(EXPECT1) over(partition by QUARTER order by QUARTER) from tab1 order by QUARTER