SQL Server中如何按人员分组汇总指定列并计算求和?
SQL Server 按人员分组汇总指定列
要实现按人员(Name)分别汇总TotalPrice和PaymentType的需求,你需要使用GROUP BY子句对数据按Name分组,让聚合函数SUM针对每个分组单独计算结果。
正确SQL脚本
汇总所有人员的情况
SELECT Name, SUM(TotalPrice) AS TotalPriceSum, SUM([Payment Type]) AS PaymentTypeSum FROM tblTransaction GROUP BY Name
仅汇总指定人员(如John)的情况
SELECT Name, SUM(TotalPrice) AS TotalPriceSum, SUM([Payment Type]) AS PaymentTypeSum FROM tblTransaction WHERE Name = 'John' GROUP BY Name
关键说明
GROUP BY Name:将表数据按Name列分组,每个同名组会单独计算求和结果[Payment Type]:由于列名包含空格,必须用方括号包裹以避免语法错误AS:为求和后的列设置别名,让查询结果更直观易读
执行结果(基于你提供的表数据)
执行第一个脚本会得到如下结果:
| Name | TotalPriceSum | PaymentTypeSum |
|---|---|---|
| John | 4000 | 2 |
| Karen | 2000 | 2 |
内容的提问来源于stack exchange,提问作者user21834984
相关产品推荐
相关产品推荐

