select s.SId,Sname,avg(score) average from Student s inner join(select SId,score,count(*) count1 from SC111 c where score <60 group by SId,score having count(*)>=2) ddd on s.SId=ddd.SId
时间: 2024-04-13 16:27:00 浏览: 99
查看学生各课程考试成绩平均分.sql
你的查询语句是正确的。这个查询使用了内连接(INNER JOIN)将学生表(Student)和成绩表(SC111)关联起来,并使用子查询计算了每个学生的平均分数。
在子查询中,我们筛选出分数小于60且出现次数大于等于2次的记录,并按学生ID(SId)和分数(score)进行分组。
然后,在外部查询中,我们将学生表和子查询的结果使用学生ID(SId)进行连接,并选择学生ID(SId)、学生姓名(Sname)以及平均分数(average)作为结果列。
这样,你可以得到每个学生的平均分数,同时满足分数小于60且出现次数大于等于2次的条件。
如果你有任何其他问题,请随时提问。
阅读全文