2

複数の 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 パラメーターを使用する必要があると確信していますが、どこにあるのかわかりません

4

2 に答える 2

9

group by キーワードを使用する必要があります

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

次のように、通話の種類と EmployeeID でグループ化することもできます。

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

選択したフィールドは、集計関数 (sum、count、avg など) であるか、これを行う場合は Group by である必要があります。

于 2012-12-27T22:07:01.743 に答える
1
SELECT EmployeeID, SUM(InvoiceAmount/2)
FROM Calls
WHERE TypeOfCall='NC'
GROUP BY EmployeeID
于 2012-12-27T22:08:09.433 に答える