主要的目的是求和,但有些记录是重复的,所以要将重复行去除,如下:name  number  times
 aa     12     1
 cc     9      1
 dd     11      8
 aa     12     1其中name为aa的记录视为重复,但我的写法:
 select name,sum(number),sum(times) from 表
 
 group by  表.name这样对aa字段的number,times求和算法就不准了
请问怎么办?

解决方案 »

  1.   

    select count(distince name) name,sum(number),sum(times) from 表 
      

  2.   

    楼主想要得到什么结果呢?
    第一列是name;第二列是name不重复的number的和,第三列是name不重复的tiemes的和,这样的结果能查出来吗?
    是:
    name   number和    times和
    aa      32          10
    呢?
    还是:
    name   number和    times和
    bb      32          10
    呢?
    个人认为这样的结果查不出来。
      

  3.   


    select name ,sum(number) as snumber,sum(times) as stimes from (
      select * from t group by name,number,times
    )
    group by name
      

  4.   

    如果name都是唯一的行,那sum还有意义吗?
    没看明白楼主的意思
      

  5.   

    select name,sum(number),sum(times) from (select distinct * from 表) a
    group by name
      

  6.   

    select name,sum(number),sum(times) from 表a
    group by name