SQL语句查询简单的求解答这一个问题
SQL语句查询简单的求解答这一个问题要求是计算每个学生的及格成绩的总成绩的平均分,我这么写为什呢不行,应该如何写呢?...
SQL语句查询简单的求解答这一个问题要求是计算每个学生的及格成绩的总成绩的平均分,我这么写为什呢不行,应该如何写呢?
展开
1个回答
展开全部
having是针对group的,如果要先过滤那就用where
SELECT Sno, AVG(Grade)
FROM dbo.SC
WHERE GRADE >= 60
GROUP BY Sno;
请采纳,谢谢!
SELECT Sno, AVG(Grade)
FROM dbo.SC
WHERE GRADE >= 60
GROUP BY Sno;
请采纳,谢谢!
追问
为什么这里不能用having,而且如果用where为什么不放在group后面
追答
1. 说过了HAVING是针对GROUP的对象,没有对GRADE做GROUP,怎么能对GRADE做HAVING呢?
2. GROUP BY子句主要用于对WHERE中得到的结果进行分组,也就是说它是在WHERE子句之后执行,对经过WHERE筛选后的结果按照某些列进行分组,之后进行相应的处理工作。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询