select * from ( select *, order_no=max(score)over(partition by class) from tb ) order by order_no desc, class
select * from stu a order by (select max(score) from stu where class=a.class) desc select a.* from stu a inner join (select max(score) ms,class from stu group by class) b on a.class=b.class order by b.ms desc etc.
select * from tb order by class , score desc
-->上面2005,2000: select * from ( select *, order_no=(select max(score) from tb where class=a.class) from tb as a ) as t -->上面漏了别名
select S.* from stu S join (select class, score=max(score) from stu group by class) O on S.class=O.class order by O.score desc
select * from ( select S.*,(select max(score) from stu O where S.class=O.class) as 最高分 from stu S) as aa order by aa.最高分 asc