sql server 2005 排名提供dense_rank() 函数.实现起来非常简单.
示例如下:
declare
@t
table
(place
int
,score
int
)
insert into @t select 11 , 10
union all select 3 , 10
union all select 2 , 20
union all select 2 , 30
select dense_rank() over ( order by score ) as id,score from @t
/**/ /*
id score
-------------------- -----------
1 10
1 10
2 20
3 30
(4 行受影响)
*/
insert into @t select 11 , 10
union all select 3 , 10
union all select 2 , 20
union all select 2 , 30
select dense_rank() over ( order by score ) as id,score from @t
/**/ /*
id score
-------------------- -----------
1 10
1 10
2 20
3 30
(4 行受影响)
*/