我有一个具有多个ID的表,需要查询以返回每个ID的列总和。 Calls_table看起来像这样
EmployeeID TypeOfCall InvoiceAmount
John NC 50
john NC 100
Joe NC 76
Joe NC 50
我有它,所以我现在必须按员工要求
SELECT sum(InvoiceAmount/2) as "Total Calls"
from Calls
where TypeOfCall='NC' and EmployeeID='Derek';
但我希望它能够返回像这样的列表中的所有ID
Total Calls
Joe 100
John 68
我确定我需要使用Distinct参数,但无法弄清楚哪里
最佳答案
您需要使用关键字分组
Select EmployeeID, SUM(InvoiceAmount)
From Calls
Group by EmployeeID
您甚至可以更进一步,按呼叫类型和EmployeeID进行分组,如下所示:
Select EmployeeID, TypeOfCall, SUM(InvoiceAmount)
From Calls
Group by EmployeeID, TypeOfCall
选择的字段必须是聚合函数(求和,计数,平均等),或者在执行此操作时位于“分组依据”中。
关于sql - 具有不同ID的列的总和?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14061901/