如何根据另一列将同一列的多个单元格相加并显示在另一列中?

How to sum multiple cell of a same column based on another column and display in another column?

我想根据另一列计算同一列单元格值的总和。并将其显示在另一列中。例如,(在下面table)或click here to see table image

-------------------------------------------------------------
  AccountType || AccountName || Amount || TotalByAccountType
-------------------------------------------------------------
   Type1      ||   name1     ||  200   || 
   Type1      ||   name2     ||  200   ||      400
---------------------------------------- ---------------------
   Type2      ||   name3     ||  200   || 
   Type2      ||   name4     ||  200   ||      600
   Type2      ||   name5     ||  200   || 
---------------------------------------- ---------------------
   Type3      ||   name6     ||  200   ||      200
--------------------------------------------------------------

有四列(账户类型、账户名称、金额、账户类型总计)。 我得到第一个三个字段但不是第四个字段(按帐户类型计)。 TotalByAccountType = 金额总和,其中 accountType 相同。 [对于类型 2:(name3 + name4 + name5) 的总和 = 200 + 200 + 200 = 600]。

我是 sql 服务器的新手。任何帮助将不胜感激。我想要 TotalByAccountType。有什么建议吗?

查询可以使用:

SELECT AccountType,
    AccountName,
    SUM(Amount) OVER (PARTITION BY AccountType) AS TotalByAccountType
FROM UnknownTableName
ORDER BY  AccountType,
    AccountName

这会给你这样的结果:

+-------------+-------------+--------+--------------------+
| AccountType | AccountName | Amount | TotalByAccountType |
+-------------+-------------+--------+--------------------+
| Type1       | name1       |    200 |                400 |
| Type1       | name2       |    200 |                400 |
| Type2       | name3       |    200 |                600 |
| Type2       | name4       |    200 |                600 |
| Type2       | name5       |    200 |                600 |
| Type3       | name6       |    200 |                200 |
+-------------+-------------+--------+--------------------+

如果您想消除 TotalByAccountType 中的 "extras",这被认为是显示问题,而不是数据库问题。您需要在报告软件或应用程序中修复它。