select min(purd_no)||max(purd_no),count(*) from purdm
where extract(year from sysdate)=extract(year from impur_date)
  and impur_date<=sysdate
group by substr(purd_no,1,6);用的时候,用具体的日期替换sysdtae,就可以了

解决方案 »

  1.   

    试试以下的代码:select min(IMPUR_DATE) || '--' || max(IMPUR_DATE), count(PURD_NO)
    from PURDM
    group by substr(PURD_NO,1,6) and round(to_number(substr(PURD_NO,5,2))*0.49/15,0)
      

  2.   

    select min(IMPUR_DATE) || '--' || max(IMPUR_DATE), count(PURD_NO)
    from PURDM
    group by substr(IMPUR_DATE,1,6) and round(to_number(substr(IMPUR_DATE,5,2))*0.49/15,0)
      

  3.   

    对不起,写错了。。
    多谢wclarity(水澈)更正。。
      

  4.   

    select min(IMPUR_DATE) || '--' || max(IMPUR_DATE), count(PURD_NO)
    from PURDM
    group by substr(IMPUR_DATE,1,6),round(to_number(substr(IMPUR_DATE,7,2))*0.49/15,0)已经Ok﹐多谢两位﹗
    结贴﹗
      

  5.   

    select min(IMPUR_DATE) || '--' || max(IMPUR_DATE), count(PURD_NO)
    from PURDM
    group by round(to_date(IMPUR_DATE,'yyyymmdd'),'MM'),trunc(to_date(IMPUR_DATE,'yyyymmdd'),'MM');
      

  6.   

    select substr(impur_date,1,6)||decode(sign(to_number(substr(impur_date,7,2))-15),-1,'上半月','下半月'),count(*) 
    from yyw_purd 
    group by substr(impur_date,1,6)
    ,decode(sign(to_number(substr(impur_date,7,2))-15),-1,'上半月','下半月')