creat table ta(key varchar(100), value int(10));
insert into ta values('a', 1);
insert into ta values('a', -1);
insert into ta values('b', 2);
insert into ta values('c', -3);就是表结构为a
key  value
a    1
a    -1
b    2
c    -3现在想查询出来的结果为
key   pn   nn
a     1    -1
b     2    null
c     null  -3初次在本版发帖,不知这样是否说清楚了,请问该怎么写?
我写的value分不开只是单独正或者负。
暂时是都取出来在程序中进行处理,但我想知道直接用数据库应该也行吧?复杂么?
多谢了

解决方案 »

  1.   

    selecy key,sum(if(value>0,value,0)),sum(if(value<0,value,0))
    from tt group by key
      

  2.   

    select key,sum(if(value>0,value,0),sum(if(value<0,value,))
    from tb
    group by key;
      

  3.   

    谢谢你的回复。
    我想要的不是求出和来
    而是分着列出来(而且斑竹太快了吧select t都打成y了-。-)
    key是关键字,换个别的名字也行
      

  4.   

    啊哦原来没打group by。
    多谢楼上2位。已经可以了!!
      

  5.   

    用你的数据测试一下吧,上述语句确实是将T->Y了
    select `key`,sum(if(value>0,value,0)),sum(if(value<0,value,0))
     from tt group by `key`