逻辑上,分3步。使用子查询:
--3,针对这些人,求平均分
SELECT id
,AVG(Score)
FROM Student
WHERE id IN (
--2,找到非'不及格'的学生
SELECT id
FROM Student
WHERE id NOT IN (
--1,成绩不及格的学生
SELECT DISTINCT id
FROM Student
WHERE Score < 60
)
GROUP BY id
应该有学生Id啊比如学生Id是stuid,这样写。
SELECT AVG(score)
FROM student
WHERE stuid IN (
SELECT stuid
FROM student a
WHERE NOT EXISTS ( SELECT 1
FROM student b
WHERE a.stuid = b.stuid
AND b.score < 60 ) )
https://blog.csdn.net/HY845638
偶然发现,这个里面有高于80分的,有思路分析和具体SQL指令。
还有一些关于学生成绩的一些查询,希望有用
select id avg(score) from student where score>=60