具有不同ID的列的总和?

时间:2012-12-27 22:04:09

标签: sql sqlite

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

EmployeeID    TypeOfCall    InvoiceAmount 
John          NC             50
john          NC             100
Joe           NC             76
Joe           NC             50 

我拥有它所以我必须像emplyee那样雇佣员工

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

但我希望它能够像这样

返回列表中的所有ID
Total Calls
Joe              100
John             68

我确信我需要使用Distinct参数,但是无法找出

的位置

2 个答案:

答案 0 :(得分:9)

您需要按关键字使用分组

Select EmployeeID, SUM(InvoiceAmount) 
From Calls
Group by EmployeeID

你甚至可以更进一步,按照呼叫类型和EmployeeID进行分组,例如:

Select EmployeeID, TypeOfCall, SUM(InvoiceAmount) 
From Calls
Group by EmployeeID, TypeOfCall

您选择的字段必须是聚合函数(总和,计数,平均等),或者在执行此操作时在组中。

答案 1 :(得分:1)

SELECT EmployeeID, SUM(InvoiceAmount/2)
FROM Calls
WHERE TypeOfCall='NC'
GROUP BY EmployeeID