求一个支持 oracle 数据库 的SQL语句...是用于成绩排名的..
要求排名按照以下那样子排列,请各位帮忙吖..
    如:
         分数     名次
           90      1
          88      2
          88      2
          86      3
          83      4

解决方案 »

  1.   

    select DENSE_RANK() OVER (  ORDER BY  分数 )  AS 名次 from ....
      

  2.   

    select DENSE_RANK() OVER (  ORDER BY  分数 desc)  AS 名次 from ....
      

  3.   

    -- TRY IT ..
    SQL> SELECT TT.*,
      2        DENSE_RANK() OVER(ORDER BY SCORE DESC) DR
      3   FROM TT
      4  ;     SCORE         DR
    ---------- ----------
            90          1
            88          2
            88          2
            86          3
            83          4
      

  4.   

    找到对应的主键,根据主键ID用UPDATE语句更新排位列不就行了。