[英]SQL group summing
好吧,说我有两栏,“个人”和“捐赠”。 例如,将这些作为行:
+++++++++++++++
Fred | $1000
Fred | $500
Bob | $1000
Bob | $7000
Sally| $500
Joe | $100
+++++++++++++++
我怎样才能显示以下内容?
+++++++++++++++
Fred | $1500
Bob | $8000
Sally| $500
Joe | $100
+++++++++++++++
换句话说,我如何将所有捐赠归为一个人,并加以汇总? 可以完成此操作的示例查询是什么? (如果可能的话,一般而言,这不涉及在select / sum子句中单独命名人员)
谢谢!
当将GROUP BY
子句与聚合函数(如SUM
)一起使用时,将为每个组计算聚合。
SELECT Name, SUM(Donation) FROM Donations GROUP BY Name
如果您想获得更具体的结果,例如那些捐款总额超过500美元的人,请引入HAVING
子句。 这有点像用于汇总结果的WHERE
:
SELECT Name, SUM(Donation) FROM Donations GROUP BY Name
HAVING SUM(Donation) > 500
SQL小提琴: http ://sqlfiddle.com/#!2/2de84/1/0
select sum(a.donation),a.person from a_table as a group by a.person;
a_table是您的表;
您可以为此使用以下查询:
SELECT Name "Name", SUM(Donation) "Donation" FROM Donations GROUP BY Name
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.