31 周 -50000.0 20030301 P4 T6
31 周 50000.0 20030301 P4 T2
32 杨 5000.0 20030301 P4 T2
33 张 70000.0 20030301 P4 T2
33 张 -70000.0 20030301 P4 T6
34 张 10000.0 20030326 P4 T2对于以上数据库记录,如何写sql查询以下结果?
32 杨 5000.0 20030301 P4 T2
34 张 10000.0 20030326 P4 T2即编号相同的记录,金额相加后大于0的记录。

解决方案 »

  1.   

    select * from(
      select t.*,sum(money)over(partition by 编号)s
      from t)
    where s>0
      

  2.   

    select a,b,sum(c),d from tab1 t group by a,b,d
    having sum(c)>0--在取最后一列的数据,可以在做一下连接!
      

  3.   

    --试一试:
    select * from (select T_no t1,sum(T_money) t2 from Test group by T_no) tab where tab.t2>0;
      

  4.   

    select t1.编号,t1.姓名,t1.金额 from test t1 where exists(
        select t2.编号, sum(金额) from test t2 group by t2.编号 having sum(金额)>0 and t1.编号=t2.编号
    )
      

  5.   

    select t1.编号,t1.姓名,t1.金额 from test t1 where exists(
        select t2.编号, sum(金额) from test t2 group by t2.编号 having sum(金额)>0 and t1.编号=t2.编号
    )
      

  6.   


    SELECT * FROM (SELECT id,sum(sal) salary FROM text group by id)text2,text WHERE text2.salary>0 and text.id=text2.id;