根据你的要求,下面可以实现:
select 学科, 成绩 as 最高分 ,count(*) as 最高分人数from( select distinct s1.姓名,s1.学科,s1.成绩 from 成绩表 s1,成绩表 s2 where s1.学科=s2.学科 and s1.成绩 = ( select max(成绩) from 成绩表 s2 where s1.学科 = s2.学科 ))as agroup by 学科, 成绩order by 成绩
结果: