现有4个季度(1,2,3,4)
比如说我基数是第二季度到第三季度(2,3),基数是不固定的,可以自己选择,最多只能从一季度选到四季度
我怎么得到上一年的第4季度和今年的第一季度(4,1)
也就是说我要求基数的环比。

解决方案 »

  1.   

    我想通过程序控制
    String sql2=" select b.ped_mcname mc_name,b.ped_breedid mi_id,b.ped_breedname mi_name,";
    if("1".equals(type.trim())||(endTime-startTime==3)){//同比
    for(int i=startTime-1;i<endTime;i++){
    sql2+="sum(case when month(b.ped_coltime) between "+((i*3)+1)+" and "+((i+1)*3)+" then b.ped_auditing_price else null end) prop,";
    }
    sql2=sql2.substring(0,sql2.length()-1);
    sql2+=" from pc_priceexp_data b where convert(varchar(7),b.ped_coltime,20)>='"+(year-1)+"-"+(startTime<4?("0"+((startTime-1)*3+1)):(startTime-1)*3+1)+"'";
    sql2+=" and convert(varchar(7),b.ped_coltime,20)<='"+(year-1)+"-"+(endTime<4?("0"+(endTime*3)):endTime*3)+"'";
    }else{//环比

    }
    sql2+=" group by b.ped_mcname,b.ped_breedid,b.ped_breedname";环比里面能用for循环控制吗?
      

  2.   

    startTime和endTime 指的是第几季度
      

  3.   

    me too
    edit your code please!