急求大神帮帮小弟,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
------解决方案--------------------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