下面分别用SQL 2000实现,相对比2005要麻烦的多了。
--ROW_NUMBER在sql 2000中的实现
--利用临时表和IDENTITY(函数)
select sname,num,identity(int,1,1)as rownumber
into #tem
from gg
orderby num
select sname,num,rownumber
from #tem
droptable #tem
go
--RANK在sql 2000中的实现
select sname,num,
(selectcount(1)+1 from gg where num<g.num)as ranknum
from gg g
orderby num
go
--DENSE_RANK在sql 2000中的实现
select num,identity(int,1,1)as densenum
into #t
from gg
groupby num
orderby num
select r.sname,r.num,t.densenum
from gg r join #t t
on r.num=t.num
orderby num
droptable #t
go