0

我正在尝试对一堆值求和,但有一个包含重复条目的表。使用 distinct 和 sum with group by 最终将所有值相加,而不是每个 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
4

1 回答 1

6

先做你的DISTINCT,然后SUM

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

SQLFiddle 示例在这里

于 2013-04-04T16:05:08.630 回答