Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2012 如何基于另一列对同一列的多个单元格求和并在另一列中显示?_Sql Server 2012 - Fatal编程技术网

Sql server 2012 如何基于另一列对同一列的多个单元格求和并在另一列中显示?

Sql server 2012 如何基于另一列对同一列的多个单元格求和并在另一列中显示?,sql-server-2012,Sql Server 2012,我想基于另一列计算同一列的单元格值之和。并将其显示在另一列中。例如,(下表中)或 共有四列(科目类型、科目名称、金额、按科目类型列出的总计)。 我得到的是前三个字段,但不是第四个字段(按帐户类型合计)。 TotalByAccountType=accountType相同的金额之和。 [对于类型2:金额的总和(名称3+名称4+名称5)=200+200+200=600] 我是sql server新手。任何帮助都将不胜感激。我想要TotalByAccountType。有什么建议吗?对于查询,您可以使用:

我想基于另一列计算同一列的单元格值之和。并将其显示在另一列中。例如,(下表中)或

共有四列(科目类型、科目名称、金额、按科目类型列出的总计)。 我得到的是前三个字段,但不是第四个字段(按帐户类型合计)。 TotalByAccountType=accountType相同的金额之和。 [对于类型2:金额的总和(名称3+名称4+名称5)=200+200+200=600]


我是sql server新手。任何帮助都将不胜感激。我想要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”,这将被视为显示问题,而不是数据库问题。您需要在报表软件或应用程序中对其进行修复。

这种结果最好在表示层而不是数据库层中完成。nx供您参考
+-------------+-------------+--------+--------------------+
| 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 |
+-------------+-------------+--------+--------------------+