Select identity(int,1,1)as OrderID,* from 表名 Order by Score

解决方案 »

  1.   

    改正:
    -----------------------------------------------
    Select identity(int,1,1)as OrderID,*  Into #tmp01 from 表名 Order by ScoreSelect * from #tmp01  ---排名表.
      

  2.   

    Select id, score, 
    (select count(*) from 表名 where score >= A.score) rank from 表名 A Order by Score desc
      

  3.   

    谢谢两位!to tj_dns(愉快的登山者):
    这样似乎资源消耗太大,查询时间比较长,而且分数相同时排名多计1to 97866(weiLuang):
    必须into进表,做成视图可能么?
      

  4.   

    如果不考虑资源消耗的问题,一定要视图的话,就用:select id,score
    ,(select count(score) from 你的表 where score<=a.score)
    from 你的表 a
    order by score desc这个可以解决"分数相同时排名多计1"的问题