永发信息网

SQL的一个查询语句

答案:4  悬赏:60  手机版
解决时间 2021-04-16 15:32
  • 提问者网友:我们很暧昧
  • 2021-04-16 00:18
回答问题的时候。。遇上一个自己不会的。。太孬了。心都碎了。
现有关系数据库如下 :数据库名:学生成绩数据库学生表(学院,专业,学号,姓名,性别)课程表(课程号,课程名,学时,学分)成绩表(学号,课程号,分数)
列出各门课程成绩最好的学生(要求显示字段: 学号,姓名,课程号,分数)
各位大哥,帮我看看嘛。
最佳答案
  • 五星知识达人网友:过活
  • 2021-04-16 01:48

select vv1.学号,vv2.姓名,vv1.课程号,vv1.分数 from


(select


学号,课程号,分数


from


成绩表 v, (select 课程号, Max(分数) as m group by 课程号 ) v1


where v.课程号 = v1.课程号 and v.分数= v1.m) vv1, 学生表 vv2


where vv1.学号 = vv2.学号



Oracle里面应该没问题,不知道TSQL是否支持子查询里面的group by

全部回答
  • 1楼网友:西风乍起
  • 2021-04-16 06:18

Select D.学号,D.姓名,c.课程号,c.cj From 学生表 D,(Select 学号,课程号, Max(成绩) cj From 学生表 A,成绩表 B Where A.学号 = B.学号 group by 课程号,学号) c Where D.学号 = c.学号

  • 2楼网友:山河有幸埋战骨
  • 2021-04-16 04:39

select top 1 id,name,sub_id,score from table order by score desc group by sub

大概这样吧

  • 3楼网友:几近狂妄
  • 2021-04-16 03:13

select a.学号,b.课程号,c.分数 from 学生表 as a, 课程表 as b ,成绩表 where c.分数 in (select max(c.学分) from b group by b.课程名)

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯