如何使用Group By语句

时间:2014-01-31 09:45:40

标签: sql sql-server sql-server-2008 tsql group-by

Iam尝试使用group by语句,但它给了我这个错误: - 列在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中

但我需要将他们分配给他们的Feeid。

select st.ID,af.Fee_Head_Name,SUM(Amount) as tamt from admission af join 
student st on af.ID= FeeID group by FeeID

没有SUM(Amount)(简称Amount)和Group by语句iam得到这样的输出:

Fee_Head_Name | Amount
Admission     | 5000
Tution        | 2500
Games         | 1500
Tution        | 2500
Games         | 1500

但我希望看起来像这样: -

Fee_Head_Name | Amount
Admission     | 5000
Tution        | 5000
Games         | 3000

请帮助我,因为我坚持这么长时间并且几乎使用了所有东西,但没有任何工作

4 个答案:

答案 0 :(得分:1)

select af.Fee_Head_Name,SUM(Amount) as tamt from admission af join 
student st on af.ID= FeeID group by af.Fee_Head_Name

在select语句中按列分组

答案 1 :(得分:1)

试试这个

SELECT Fee_Head_Name , SUM(Amount)

FROM TABLE1

GROUP BY Fee_Head_Name 

GROUP BY

修改

如果您想选择ID,请使用此

 SELECT MIN(ID),Fee_Head_Name , SUM(Amount)

 FROM TABLE1

 GROUP BY Fee_Head_Name 

答案 2 :(得分:0)

select af.Fee_Head_Name,SUM(Amount) as tamt from admission af join 
student st on af.ID= FeeID GROUP BY Fee_Head_Name

您应该使用上述查询。 Group By与聚合函数结合使用以对结果集进行分组

答案 3 :(得分:0)

试试这个

SELECT Fee_Head_Name,
       SUM(Amount) 
FROM admission 
GROUP BY Fee_Head_Name

有关详情http://www.w3schools.com/sql/sql_groupby.asp

,请参阅此链接