好吧,说我有两个栏目,人和捐赠。例如,将这些作为行:
+++++++++++++++
Fred | $1000
Fred | $500
Bob | $1000
Bob | $7000
Sally| $500
Joe | $100
+++++++++++++++
我怎样才能让它显示以下内容?
+++++++++++++++
Fred | $1500
Bob | $8000
Sally| $500
Joe | $100
+++++++++++++++
换句话说,我怎样才能将某人捐赠的所有捐款合并在一起,并总结一下?什么是一个可以实现此目的的示例查询? (如果可能的话,一般来说,这不涉及在select / sum子句中单独命名人员)
谢谢!
答案 0 :(得分:6)
当您使用具有聚合函数的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
答案 1 :(得分:2)
select sum(a.donation),a.person from a_table as a group by a.person;
a_table是你的桌子;
答案 2 :(得分:0)
您可以使用以下查询:
SELECT Name "Name", SUM(Donation) "Donation" FROM Donations GROUP BY Name