日期:2014-05-17  浏览次数:20502 次

急求大神帮帮小弟,sql2000实现 总分排序后再排名次
create table paiming([id] int,[姓名] varchar(6),[分数] int)
insert  paiming 
select 1,'小一',80  union all
select 2,'小二',90  union all 
select 3,'小三',50  union all 
select 4,'小四',80  union all 
select 5,'小五',85  union all 
select 6,'小六',92   

--2000 SQL实现按总分排名
--排名结果
   姓名    分数    名称    
    小六     92      1
   小二     90      2
   小五     85      3
   小四     80      4
   小一     80      5
   小三     50      6


急求指教,thanks
SQL ?用2000?实现

------解决方案--------------------
SELECT [姓名],[分数],IDENTITY(INT,1,1)排名 INTO #t
 FROM paiming 
 
 SELECT * FROM #t

------解决方案--------------------
[code=sql
select  row_number() OVER(order by [分数] DESC) AS [名称],* from paiming 
[/code]
------解决方案--------------------

select  row_number() OVER(order by [分数] DESC) AS [名称],* from paiming 

------解决方案--------------------
SELECT *,(SELECT COUNT(*) FROM paiming WHERE [分数]<=t.[分数]) AS 排名 FROM paiming t
ORDER BY 排名 DESC