如何在 SQL Server 中对具有相同 ID 的多行求和
Posted
技术标签:
【中文标题】如何在 SQL Server 中对具有相同 ID 的多行求和【英文标题】:how to sum multiple rows with same id in SQL Server 【发布时间】:2018-02-06 12:00:49 【问题描述】:假设我有下表:
id | name | no
--------------
1 | A | 10
1 | A | 20
1 | A | 40
2 | B | 20
2 | B | 20
我想在 SQL Server 中执行一个选择查询,它对具有相同 id 的“no”字段的值求和。 结果应该是这样的,
id | name | no
--------------
1 | A | 70
2 | B | 40
【问题讨论】:
提示:GROUP BY
.
我确定输入这个问题的时间比研究需要的时间长。
我们绝对不需要关于 SQL 的这样一个基本特性的另一个问题,这表明没有任何背景研究。
我投票决定将此问题作为题外话结束,因为有太多重复项,甚至都不好笑。
【参考方案1】:
简单的GROUP BY
和SUM
应该可以工作。
SELECT ID, NAME, SUM([NO])
FROM Your_TableName
GROUP BY ID, NAME;
【讨论】:
【参考方案2】:Use SUM and GROUP BY
SELECT ID,NAME, SUM(NO) AS TOTAL_NO FROM TBL_NAME GROUP BY ID, NAME
【讨论】:
您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。【参考方案3】:SELECT *, SUM(no) AS no From TABLE_NAME GROUP BY name
这将通过汇总同一 name
列的 no
列来返回同一表。
【讨论】:
以上是关于如何在 SQL Server 中对具有相同 ID 的多行求和的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SQL Server 2005 中对 sql 表进行尴尬的旋转?
在一列中对具有相同数据的行进行分组,并将其相关数据汇总在另一列中 [ORACLE SQL]