2013-04-04 69 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

相關問題