col2是不是就是有限的a,c,b三个值?
那样可以解决,如果不是那可能要用到存储过程来实现,在数据库基础论坛有类似文章。
如果只有有限的a,c,b的话:
select col1,sum(col3*decode(col2,'a',1,0)) a,sum(col3*decode(col2,'b',1,0)) b,sum(col3*decode(col2,'c',1,0)) c from tablename group by col1;

解决方案 »

  1.   

    和我的问题一样,请看看这个.http://www.csdn.net/expert/topic/1039/1039120.xml?temp=.1433832
      

  2.   

    用一个肯定sql不行,因为你的col2列的值是不固定的.还是写个存储过程来处理吧。
      

  3.   

    select col1,sum(deocde(col2,'a',col3,0)) a,
                sum(deocde(col2,'b',col3,0)) b,
                sum(deocde(col2,'c',col3,0)) c
    from tname
    group by col1;            其实只是一个很简单的sql,
    只是大家把他想的复杂了
      

  4.   

    如果col2不是固定的,并且col2的值不是很多
    那你还是多几个sum(decode))就可以了不过很多(上千的话)可以用dbms_sql的绑定column来实现
    但是话回过来说,如果很多的话,
    你的这个统计结果可阅读性真的不怎么样
      

  5.   

    To :zhoubf725(天上的鸟,怎能踢到) 
    "dbms_sql的绑定column来实现",此话怎讲?