select 
    t.* 
from 
    tabname as t 
order by 
    (select sum(分数) from tabname where 班=t.班) desc,t.班,t.分数 desc

解决方案 »

  1.   


    select 姓名, 班, 分数 from 
    (select 姓名, 班, 分数, sum(分数) over(partition by 班) as s_score from tab_name )
    order by  s_score,  分数, 姓名
      

  2.   

    呵呵,忘记排序了
    select 姓名, 班, 分数 from
    (select 姓名, 班, 分数, sum(分数) over(partition by 班) as s_score from tab_name )
    order by s_score desc, 分数 desc, 姓名