就是将RESULT中的多项结果分解统计在对各个业务的支持数字上
例如第一项,是说对XWLB的6项业务都支持
那么统计结果是
业务同上面的SERVICE,子业务的数量是统计结果SERVICE   NUM                       NUM
XWLB      NUM(1)                  NUM(2)类似下面语句,不过是要横向表示查询结果
select service,count(RESULT) as 支持捧哏数量
from sm_tpresult WHERE RESULT LIKE '%1%'
group by service;但是怎么将各个count(RESULT) as 支持捧哏数量并排显示
请指教

解决方案 »

  1.   

    SERVICE    SUBSERVICE1   SUBSERVICE2  SUBSERVICE3
    XWLB       支持数量      支持数量     支持数量
    ...         ...           ...            ...其中支持数量是RESULT中相应的COUNT(*) WHERE RESULT LIKE ‘%N%’
    N----为业务对应的编号
      

  2.   

    RESULT的值有没有范围?比如为1-9的整数
      

  3.   

    这样试试,我没测试
    select service,sum(col1),sum(col2),sum(col3),sum(col4),sum(col5),sum(col6) from (select service,decode (instr(result,'1'),0,0,1) col1,decode (instr(result,'2'),0,0,1) col2,decode (instr(result,'3'),0,0,1) col3,decode (instr(result,'4'),0,0,1) col4,decode (instr(result,'5'),0,0,1) col5,decode (instr(result,'6'),0,0,1) col6
    from sm_tpresult ) group by service;
      

  4.   

    select service ,sum(decode(instr(result,'1'),0,0,1)) sub1,sum(decode(instr(result,'2'),0,0,1)) sub2,...,sum(decode(instr(result,'6'),0,0,1)) sub6
    from yourtable
    group by service
      

  5.   

    呵呵,大斑:直接分组SUM()也可以吧