0

私はテーブルを持っています

EmpName | Bonus
Rohit   | 20
Steve   | 35
Rohit   | 9
Johnson | 15

ここで、ボーナスが 30 未満の個別の従業員のユーザー名と合計ボーナスが必要です。答えは次のようになります。

EmpName | Sum(Bonus)
Rohit   | 29
Johnson | 15

この出力を取得するためのクエリは何ですか?

4

2 に答える 2

2

集計関数sum()を使用してそれぞれの合計ボーナスを取得し、句をempname使用して合計ボーナスが 30 未満の値を返すことができます。HAVINGempname

select empname, sum(bonus) TotalBonus
from yt
group by empname
having sum(bonus) < 30;

デモで SQL Fiddle を参照してください

bonusまたは、が 30 未満の行のみを合計したい場合は、次を使用できます。

select empname, sum(bonus) TotalBonus
from yt
where bonus < 30
group by empname;

デモで SQL Fiddle を参照してください

于 2013-04-19T11:12:50.997 に答える
1
SELECT EmpName,
       SUM(Bonus) AS SumBonus
FROM dbo.Table1
WHERE Bonus < 30
GROUP BY EmpName

デモ

于 2013-04-19T11:13:49.157 に答える