检索平均成绩超过80分的学生学号和平均成绩

问题遇到的现象和发生背景

这个写成SELECT S#,AVG(GRADE) FROM SC WHERE AVG(GRADE) >80行吗

img

遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏

根据题目要求平均成绩,那应该要分组的,使用GROUP BY,然后对分组之后的数据进行筛选那就要使用having而不是where,可以一步一步来理解,数据库方面的问题就需要去多查,多实践,试试各种语句的查询结果对比差异

-- 第一步 获取人员的平均成绩
SELECT S#, AVG(GRADE) AS '平均成绩'
FROM SC
GROUP BY S#
-- 第二步 对获取到平均成绩之后的数据再进行筛选出大于80分的
SELECT S#, AVG(GRADE) AS '平均成绩'
FROM SC
GROUP BY S#
HAVING AVG(GRADE) > 80
 

这条语句会检索出所有学生的学号和平均成绩,并且只有当平均成绩大于 80 分时才会显示结果,帮你改了一下:

SELECT S#, AVG(GRADE) AS '平均成绩'
FROM SC
GROUP BY S#
HAVING AVG(GRADE) > 80