一个表中有type ,numberData两个字段, type存的是类别,numberData,存的是正数,负数和0,我现在想按type分组 查出 numberData里>=0总和 z,和<0的数的和f,结果是这要样的形式(如果一个类别里z或负为0的话就用null或是0代替):
 type z  f
  1   30 -50
  2   20  -6
  3   0   -9怎么来实现哟

解决方案 »

  1.   

    select type,sum(if(numberData>=0,numberData,0)) as z,
    sum(if(numberData<0,numberData,0)) as f
    from tt group by type
    如果一个类别里z或负为0的话就用null或是0代替:解释一下
      

  2.   

    如果一个类别里z或负为0的话就用null或是0代替:z不会为0吧
    select type,sum(if(ifnull(numberData,0)>=0,numberData,0)) as z,
    sum(if(numberData<0,numberData,0)) as f
    from tt group by type
      

  3.   

    比如type=5时 numberData里的数据 全是负数,那 z那个字段就只能为0了
      

  4.   

    wa,wb 我还以为是一个人呢