2013-04-04 72 views
0

我想总结一堆值,但有一个重复的条目表。使用distinct和sum组合,最后将所有值相加,而不是每个UserID中只有一个值。如何总结每个重复条目只有一个值

UserID | Value 
1  | 200 
1  | 200 
1  | 200 
2  | 500 
2  | 500 
2  | 500 
3  | 800 
3  | 800 
4  | 200 
4  | 200 

我所要的输出是这样的:

NumberOfUsers | Total 
4    | 1700 

回答

6

做你DISTINCT第一,然后SUM

SELECT Count(UserID) AS NumberOfUsers, SUM(Value) AS Total 
FROM 
    (SELECT DISTINCT UserID, Value 
    FROM Table 
) AS subqry 

SQLFiddle例如here

+2

同意,如果需要重复的行,这是答案。他们可能也想看看是否有必要重复行。这可能是一个更好的解决方案,可以删除所有重复的行并向UserID添加唯一约束。 – 2013-04-04 16:08:05

相关问题