select pjid,sum(pzf)
from alltotal a
where not exists(select 1 from alltotal where pjid=a.pjid and bzf=a.bzf and riqi<a.riqi)
group by pjid

解决方案 »

  1.   

    用distinct关键字
    select distinct pjid,bzf,riqi,sum(bzf) from 表
      

  2.   

    ---应该是这样
    select sum(pzf)
    from alltotal a
    where not exists(select 1 from alltotal where pjid=a.pjid and bzf=a.bzf and riqi<a.riqi)
      

  3.   

    select sum(bzf) from (select pjid,bzf from 表 group by pjid,bzf) a
      

  4.   

    错了 这样
    select pjid,sum(bzf) from 表 group by pjid
      

  5.   

    select sum(a.bzf) from (select distinct pjid,bzf from alltotal) a
      

  6.   

    select sum(a.bzf) from (select distinct pjid,bzf from alltotal) a
      

  7.   

    不能按照pjid来分组,所以不可能用distinct pjid之类的语句
    只能在where后过滤掉重复的pjidto xluzhong(Ralph) 
    你的方法提供了思路,但是仍然是错误的
      

  8.   

    已经搞定
    to xluzhong(Ralph) 
    应该是:riqi<>a.riqi
    select sum(bzf)
    from alltotal a
    where not exists(select 1 from alltotal where pjid=a.pjid and bzf=a.bzf and riqi<>a.riqi)
    THANKS!
    揭贴
      

  9.   

    这样可以Select SUM(bzf) from (Select pjid,Min(bzf) As LS from alltotal Group By pjid) A
      

  10.   

    但是要看重复的,你取哪一个bzf。
      

  11.   

    请问pjid和bzf是不是配套的?例如,如果pjid=1,那么bzf肯定是20?
    如果是这样,sql语句这么写:select 
         sum(A.bzf) as TOTAL 
    from 
        ( select bzf from alltotal group by pjid,bzf ) A