2012-12-27 60 views
2

我有一個表有多個ID,需要查詢返回每個ID的列的總和。 Calls_table看起來像這樣具有不同ID的列的總和?

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 

我相信,我需要使用獨特參數只是找不出哪裏

回答

8

您需要通過關鍵字可以使用組

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

你甚至可以把它遠一點和組通過呼叫類型和僱員這樣的:

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

你選擇的領域需要作聚合函數(總和,計數,平均等)或者在這個時候在組中。

+1

上帝我覺得智障。謝謝。我在這上了一堂課,但所有的老師教給我們的是如何創建表格和基本查詢,以便更深入地挖掘。 – derek

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