如何只对每个重复条目中的一个值求和

时间:2013-04-04 16:03:34

标签: sql

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

2 个答案:

答案 0 :(得分:6)

首先执行DISTINCT,然后执行SUM

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

SQLFiddle示例here

答案 1 :(得分:0)

在w3上查看这篇文章!我认为这就是你要找的东西=]! http://www.w3schools.com/sql/sql_groupby.asp