给出一个table,要求用sql语句把结果表示出来tabledate          statement
----------------------------
2008-09        old
2008-09        old
2008-09        new
2008-10        new
2008-10        new
2008-10        old要求用sql语句生成下面的表date       new            old
--------------------------------
2008-09    1               2
2008-10    2               1请大虾帮帮写下~~~~

解决方案 »

  1.   

    select date,count(decode(statement,'new',1))new,
      count(decode(statement,'old',1))old
    from tt
      

  2.   

    select date,count(decode(statement,'new',1))new, 
      count(decode(statement,'old',1))old 
    from tt
    group by date
      

  3.   

    select date, sum(decode(statement,'new',1,0)) new,sum(decode(statement,'old',1,0)) old 
    from tablename group by date;
      

  4.   

    select date, sum(case when statement='new' then 1 else 0 end ) new,sum(case when statement='old' then 1 else 0 end ) old 
    from tablename group by date;