SQL查询每门课程最高分学生的学号,课程号,成绩

SQL查询每门课程最高分学生的学号,课程号,成绩,第1张

首先你得告诉我们你有几张表,表里都有什么列,然后我们才能决定怎么查,是连接查询还是你的所有数据都在一个表里。在此我先给出都在一个表的情况:select 学号,课程号,成绩 from 表名 where 表主键 in(select 表主键 from 表名 where 学分=max(学分) group by 课程号)

select Sname,scorefrom Student ,Scwhere StudentSno=ScSno and score =(select MAX(score) from Sc where ScSno=StudentSno)
--或者
select Sname,score from (
select Sname,score,row_number() over(partition by ScSno order by score Desc) As Rkfrom Student ,Scwhere StudentSno=ScSno
) S where rk=1

假设有以下表:课程表Course( CourseID int, --课程ID CourseName varchar(20)--课程名)学生表Student( StudentID int,--学生ID Name varchar(20),--学生名 sex int--性别,0是女,1是男)学生成绩表StudentScore( StudentID int,--学生ID CourseID int,--课程ID Score int--分数) -- 课程为英语的男生女生中的最高分和最低分select
case when sex=0 then '女' else '男' end as 性别,
max(Score) as 最高分,min(Score) as 最低分,
from StudentScore a,Student b,Course c
where aStudentID=bStudentID and aCourseID=cCourseID
and cCourseName='英语'
group by sex 结果类似下面的。---------------------------------------------最高分 最低分 性别95 65 男90 60 女 如果有什么不懂的,请追问

如果只是查询数据库原理这么课的最高分的话,
可以这样:Select max(sc[score]) as 最高分 from sc where Cname in(Select Cname from Course where Cname='数据库原理')
也不知道行不行,很久没有写过了!!你试试吧!希望可以帮到您!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/10547600.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-09
下一篇2023-05-09

发表评论

登录后才能评论

评论列表(0条)

    保存