用SQL查询每个学生的所选课程的最高成绩 要求列出学号,姓名,课程编号,分数 已经得到如下结果 多谢咯

USE JXGLXT
GO
SELECT STUDENT.学号,姓名,课程名称,分数
FROM GRADE JOIN STUDENT ON GRADE.学号=STUDENT.学号 JOIN CURRICULUM ON GRADE.课程编号=CURRICULUM.课程编号
康盈盈 0001 计算机基础 80
康盈盈 0001 C语言程序设计 90
康盈盈 0001 数据库技术及应用 87
康盈盈 0001 英语 86
康盈盈 0001 高等数学 78
张卫斌 0002 计算机基础 76
张卫斌 0002 C语言程序设计 73
张卫斌 0002 数据库技术及应用 67
张卫斌 0002 英语 70
张卫斌 0002 高等数学 89
王琎 0003 计算机基础 83
王琎 0003 C语言程序设计 73
王琎 0003 数据库技术及应用 84
王琎 0003 英语 75
钱达理 0004 高等数学 65
李牧 0005 计算机基础 72
李牧 0005 C语言程序设计 64
李牧 0005 数据库技术及应用 82
李牧 0005 英语 93
徐璐 0006 高等数学 60
徐璐 0006 数据结构 83
肖海燕 0007 计算机基础 74
张明华 0008 数据库技术及应用 91
张明华 0008 英语 82
代付胜 0009 高等数学 73
代付胜 0009 数据结构 73
陈涛 0010 C语言程序设计 89
陈涛 0010 数据库技术及应用 78
胡曼 0011 英语 67
胡曼 0011 高等数学 87
涂成霞 0012 数据结构 76
拜志峰 0013 英语 69
拜志峰 0013 高等数学 85
张翠丽 0014 数据结构 74
蔡明 0015 英语 63
蔡明 0015 高等数学 90
曾熙 0016 数据结构 89
陈亮 0017 英语 66
陈亮 0017 高等数学 71
储诚文 0019 数据结构 82
楼下的那个我试过的 可是。。。 呵呵

用了聚合函数就需要对其(group by )分组

select STUDENT.学号,姓名,课程名称,max(分数)
FROM GRADE JOIN STUDENT ON GRADE.学号=STUDENT.学号 JOIN CURRICULUM ON GRADE.课程编号=CURRICULUM.课程编号 group by STUDENT.学号,姓名,课程名称
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-16
select max(分数),STUDENT.学号,姓名,课程名称
FROM GRADE JOIN STUDENT ON GRADE.学号=STUDENT.学号 JOIN CURRICULUM ON GRADE.课程编号=CURRICULUM.课程编号
这样不行吗?
相似回答