我这样做不对哦,为何呢?

youlong144 2011-06-27 08:59:52
查询每个同学的所选课程的最高成绩,要求列出学号,姓名,课程编号,分数
我是这样做的:
select student.学号,姓名,课程名称,max(分数)
from student,grade,curriculum
where student.学号=grade.学号 and grade.课程编号=curriculum.课程编号
group by student.学号,姓名,课程名称
...全文
75 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
哥看到LZ的问题很困惑,看到#6L的回复稍稍的明了一些。
bearben2010 2011-06-28
  • 打赏
  • 举报
回复
拜托把建表语句和创建测试数据的语句发上来呗
cd731107 2011-06-28
  • 打赏
  • 举报
回复
select student.学号,姓名,课程名称,分数
from student,grade,curriculum
where student.学号=grade.学号 and grade.课程编号=curriculum.课程编号
and not exists
(select 1 from grade as tb where grade.学号=tb.学号 and tb.分数>grade.分数)
--小F-- 2011-06-27
  • 打赏
  • 举报
回复
给点测试数据吧
qzp000000 2011-06-27
  • 打赏
  • 举报
回复
group by student.学号,姓名,课程名称
你只要最高分,那么

group by 学号
就可以了
sql_bd 2011-06-27
  • 打赏
  • 举报
回复
;with sqlbd as
(select a.学号,a.姓名,b.课程名称,c.分数
from student a,grade b,curriculum c
where a.学号=b.学号 and b.课程编号=c.课程编号
)
select * from sqlbd t
where not exists(select * from sqlbd where 学号=t.学号 and 分数>t.分数)
youlong144 2011-06-27
  • 打赏
  • 举报
回复
请问怎么做?请说?
sql_bd 2011-06-27
  • 打赏
  • 举报
回复
你这样是取每个学生每门课程的最高分

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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