字典翻译 问答 其它 SQL查询求每个同学的课程成绩的最高分,查询结果项包括:学生姓名、课程号及最高分student表Score表求每个同学的课程成绩的最高分,查询结果项包括:学生姓名、课程号及最高分方案一:SELEC
问题标题:
SQL查询求每个同学的课程成绩的最高分,查询结果项包括:学生姓名、课程号及最高分student表Score表求每个同学的课程成绩的最高分,查询结果项包括:学生姓名、课程号及最高分方案一:SELEC
问题描述:

SQL查询求每个同学的课程成绩的最高分,查询结果项包括:学生姓名、课程号及最高分

student表

Score表

求每个同学的课程成绩的最高分,查询结果项包括:学生姓名、课程号及最高分

方案一:SELECTStudent.SNAME,SCORE.CNO,SCORE.GRADEFROMStudent,SCORE

WHERESCORE.GRADEIN(SELECTMAX(GRADE)ASMAXXGRADEFROMSCOREGROUPBYSCORE.SNO)ANDSTUDENT.SNO=SCORE.SNO

方案二:SELECTSNAME,CNO,GRADEFROMScoreY,Student

WHERE(STUDENT.SNO=Y.SNO)ANDY.GRADEIN(SELECTMAX(GRADE)

FROMSCOREWHERESNO=Y.SNOGROUPBYSNO)

为什么我第一种写的不是我想要的第二种的答案.

林才寿回答:
  你好,你展示的第一种sql查询方案,其意思是:先根据score表中的sno分组求每个sno的最高分数.这求得的当然是每个同学的最高分啦,但是只是获得了最高分,没有指定是谁的最高分,导致在前面的【SELECTSNAME,CNO,GRADEFR...
点击显示
其它推荐
热门其它推荐
  • 其它