求一个考核教师的sql语句

低代码开发平台 2009-03-05 09:10:11
教师考评:
有下成绩表Score
ID 自动增长,StudentID学号,TeacherID 教师ID,SubjectID科目,Score 分数
现求一sql语句得到如下结果
SubjectID ,TeacherID,教师该科绩效

教师该科绩效=所教学生的成绩前20名的平均分*40%+所教学生的全部平均分*60%
...全文
81 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2009-03-05
  • 打赏
  • 举报
回复

请给出表结构,测试数据,相关算法和需要的结果.谢谢!

lklovelk 2009-03-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sdhdy 的回复:]
SQL codeselect SubjectID,TeacherID, 教师该科绩效= (select avg(score) from ((select top 20 score from Score a where a.SubjectID=Score.SubjectID and a.TeacherID=Score.TeacherID order by a.score desc)) c)*0.4+(select avg(score) from score d where d.SubjectID=Score.SubjectID and d.TeacherID=Score.TeacherID)*0.6
from Score group by SubjectID,TeacherID order by SubjectID,TeacherID
[/Quote]
楼上正解,语句有点长,但思路并不复杂!
帮顶!
sdhdy 2009-03-05
  • 打赏
  • 举报
回复
select SubjectID,TeacherID, 教师该科绩效= (select avg(score) from ((select top 20 score from Score a where a.SubjectID=Score.SubjectID and a.TeacherID=Score.TeacherID order by a.score desc)) c)*0.4+(select avg(score) from score d where d.SubjectID=Score.SubjectID and d.TeacherID=Score.TeacherID)*0.6
from Score group by SubjectID,TeacherID order by SubjectID,TeacherID
sdhdy 2009-03-05
  • 打赏
  • 举报
回复
select SubjectID,TeacherID, 教师该科绩效= (select avg(score) from ((select top 20 score from Score a where a.SubjectID=Score.SubjectID and a.TeacherID=Score.TeacherID order by a.sscore desc)) c)*0.4+(select avg(score) from score d where d.SubjectID=Score.SubjectID and d.TeacherID=Score.TeacherID)*0.6
from Score group by SubjectID,TeacherID

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧