具有不同ID的列的总和?

der*_*rek 2 sql sqlite

我有一个具有多个ID的表,需要一个查询来返回每个ID的列总和.Calls_table看起来像这样

EmployeeID    TypeOfCall    InvoiceAmount 
John          NC             50
john          NC             100
Joe           NC             76
Joe           NC             50 
Run Code Online (Sandbox Code Playgroud)

我拥有它所以我必须通过emplyee现在就像雇员一样

SELECT sum(InvoiceAmount/2) as "Total Calls" 
from Calls
where TypeOfCall='NC' and EmployeeID='Derek';
Run Code Online (Sandbox Code Playgroud)

但我希望它能够返回像这样的列表中的所有ID

Total Calls
Joe              100
John             68
Run Code Online (Sandbox Code Playgroud)

我确定我需要使用Distinct参数,但只是无法弄清楚在哪里

Cha*_*had 9

您需要按关键字使用组

Select EmployeeID, SUM(InvoiceAmount) 
From Calls
Group by EmployeeID
Run Code Online (Sandbox Code Playgroud)

您甚至可以更进一步,按类型调用和EmployeeID分组,如下所示:

Select EmployeeID, TypeOfCall, SUM(InvoiceAmount) 
From Calls
Group by EmployeeID, TypeOfCall
Run Code Online (Sandbox Code Playgroud)

您选择的字段需要是聚合函数(sum,count,avg等),或者在执行此操作时在Group中.