繁体   English   中英

SQL组求和

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM