对 MS SQL-query 中的某些列求和
Sum certain columns in MS SQL-query
我有一个包含帐户的数据库,需要对某些列进行添加:
Customer | Account | DateStatement | Risk | Balance
123 | 456 | 201606 | Low | 1000
123 | 645 | 201606 | Low | 500
321 | 852 | 201606 | High | 1500
一个客户可能有一个或多个账户,我需要所有账户的客户余额总和。显然每个客户的日期和风险是相同的,不能添加。
table有几千个客户,大约有50列,需要添加大约20列,而另外30列应该只显示一次。我需要结果为每个客户显示一行,例如
Customer | DateStatement | Risk | Balance
123 | 201606 | Low | 1500
321 | 201606 | High | 1500
考虑到我必须添加大约 20 列,我怎样才能以最简单的方式做到这一点?子查询看起来很复杂,如果我需要那么多?
--
谢谢大家。就像你建议的那样简单。我误解了 GROUP BY 的工作原理。根据您的回答,它就像一个魅力:-)
试试这个。
SELECT customer,DateStatement ,Risk ,sum(Balance)
FROM table_name
GROUP BY customer,DateStatement ,Risk
如果我没理解错的话,它只是一组
SELECT Customer,DateStatement,Risk,<other columns>,SUM(Balance),..SUM(OtherColumn) etc
FROM sometable
GROUP BY Customer,DateStatement,Risk,<other columns>
我有一个包含帐户的数据库,需要对某些列进行添加:
Customer | Account | DateStatement | Risk | Balance
123 | 456 | 201606 | Low | 1000
123 | 645 | 201606 | Low | 500
321 | 852 | 201606 | High | 1500
一个客户可能有一个或多个账户,我需要所有账户的客户余额总和。显然每个客户的日期和风险是相同的,不能添加。
table有几千个客户,大约有50列,需要添加大约20列,而另外30列应该只显示一次。我需要结果为每个客户显示一行,例如
Customer | DateStatement | Risk | Balance
123 | 201606 | Low | 1500
321 | 201606 | High | 1500
考虑到我必须添加大约 20 列,我怎样才能以最简单的方式做到这一点?子查询看起来很复杂,如果我需要那么多?
--
谢谢大家。就像你建议的那样简单。我误解了 GROUP BY 的工作原理。根据您的回答,它就像一个魅力:-)
试试这个。
SELECT customer,DateStatement ,Risk ,sum(Balance)
FROM table_name
GROUP BY customer,DateStatement ,Risk
如果我没理解错的话,它只是一组
SELECT Customer,DateStatement,Risk,<other columns>,SUM(Balance),..SUM(OtherColumn) etc
FROM sometable
GROUP BY Customer,DateStatement,Risk,<other columns>