A学校有班级(1,2,3....)多少班级可以查到
student表结构如下:
班级 学号 课程  分数
1   001  英语  60
1     001  数学  100 --1班中最高分
1   002  英语  80
1     002  数学  70
2   001  英语  70
2     001  数学  90 --2班中最高分
2     002   英语  80
2     002   数学  60
3     001   英语  50 
3     001   数学  90 --3班最高分
......
现在要求得各个班级最高分数之和(100+90+90+......)
求SQL语句,想了一天了,哪个高手出来指点一下。
下辈子都记得你。。

解决方案 »

  1.   

    你说得不清楚,如果忽视课程就这样:select sum(score) as totalScore
    (
      select 班级,max(分数) as score
      from student
      group by 班级
    )如果不忽视课程就这样:
    select 课程,sum(score) as totalScore
    (
      select 班级,课程,max(分数) as score
      from student
      group by 班级,课程
    )
      

  2.   

    正解:select 课程,sum(score) as totalScore
    (
      select 班级,课程,max(分数) as score
      from student
      group by 班级,课程
    )