本帖最后由 kusey 于 2014-06-03 15:18:29 编辑

解决方案 »

  1.   

    select A.* from (
    select stdno, score from score where subjectId = 3 order by score desc) B
    inner join score A
    on A.stdno = B.stdno order by B.score desc
      

  2.   

    select A.* from (
    select stdno, score from score where subjectId = 3 order by score desc) B
    inner join score A
    on A.stdno = B.stdno order by B.score desc, A.subjectId asc
      

  3.   

    select *
    from score s
    order by (select score from score where stdno=s.stdno and subject=3) desc,
    a.subject