select 
    time,
    id_1,
    name,
    sum(decode(id_2,'1000',value,0)) as 值1,
    sum(decode(id_2,'1001',value,0)) as 值2
from 
    table_a
group by
    time,id_1,name

解决方案 »

  1.   

    select time,id_1,name,sum(decode(id_2,'1000',value,0)) value1,sum(decode(id_2,'1001',value,0)) value
    from table_a
    group by time,id_1,name
      

  2.   

    不明白为什么两个值还是都为0
       time(date)          id_1   name   value  value12005-03-01 12:03:03     157   aaaa     0      0
    2005-03-01 12:03:03     157   aaaa     0      0
    我的表是这样的:
    time(date)     id_1 id_2  name   value2005-03-01 12:03:03 157  1000  aaaa   546
    2005-03-01 12:03:03 157  1001  aaaa   507
    2005-03-01 12:07:05 157  1000  aaaa   5446
    2005-03-01 12:07:05 157  1001  aaaa   5037
    2005-03-01 12:03:03 157  1000  bbbb   54d6
    2005-03-01 12:03:03 157  1001  bbbb   50d7
    2005-03-01 12:07:05 157  1000  bbbb   54d46
    2005-03-01 12:07:05 157  1001  bbbb   50d37
      

  3.   

    你可以看一下你的value列:
    54d6,54d46
    这样的数据都存在,你怎么去做sum?我用number数据试了,结果是正确的
    你看看你的value值吧
      

  4.   

    TIME              ID_1        ID_2      NAME       ID_3         VALUE
    2005-03-01 08:00:00    10         60       aaaaaa      1000       468758927
    2005-03-01 08:00:00    10         60       aaaaaa      1001       194179575
    2005-03-01 08:15:00    10         60       aaaaaa      1000       477520148
    2005-03-01 08:15:00    10         60       aaaaaa      1001       190481540
    2005-03-01 08:30:00    10         60       aaaaaa      1000       507477259
    2005-03-01 08:30:00    10         60       aaaaaa      1001       197720836
    2005-03-01 08:45:00    10         60       aaaaaa      1000       546988957
    2005-03-01 08:45:00    10         60       aaaaaa      1001       212916970
    2005-03-01 08:00:00    10         60       bbbbbb      1000       468758927
    2005-03-01 08:00:00    10         60       bbbbbb      1001       194179575
    2005-03-01 08:15:00    10         60       bbbbbb      1000       477520148
    2005-03-01 08:15:00    10         60       bbbbbb      1001       190481540
    2005-03-01 08:30:00    10         60       bbbbbb      1000       507477259
    2005-03-01 08:30:00    10         60       bbbbbb      1001       197720836
    2005-03-01 08:45:00    10         60       bbbbbb      1000       546988957
    2005-03-01 08:45:00    10         60       bbbbbb      1001       212916970
    select time,id_1,id_2,name,
    sum(decode(id_3,'1000',value,0))as value1,
    sum(decode(id_3,'1001',value,0))as value2
    from table_a
    group by time,id_1,id_2,name这语句对不对?
      

  5.   

    select time,id_1,id_2,name,
    sum(decode(id_3,'1000',value,0)) value1,
    sum(decode(id_3,'1001',value,0)) value2
    from table_a
    group by time,id_1,id_2,name