这个写成SELECT S#,AVG(GRADE) FROM SC WHERE AVG(GRADE) >80行吗
根据题目要求平均成绩,那应该要分组的,使用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