日期:2014-05-18  浏览次数:20527 次

sql20000 替换Row_Number
sql20000 替换Row_Number 
select row_number() over (order by InfoID) as RowNumBer,* from Infos Where 1=1

------解决方案--------------------
你自己已经换过来了啊?什么意思?
------解决方案--------------------
我想,大概意思是,
想问SQL2000中类似2005 row_number()的函数
------解决方案--------------------
没有!

只能自己插入一个带id字段的临时表,它的id就相当于row_number()
------解决方案--------------------
SQL code

select *,(select count(1) from t b where b.id<a.id) from t a
-- order by a.id asc

------解决方案--------------------
SQL code

--如果是分组排序:
首先给表加一个自动增长的排序列:
alter table test add id int identity
go
--子查询实现
select px=(select count(1) from test b where a.col1=b.col1 and b.id<=a.id),* from test a

------解决方案--------------------
SQL code

SQL2000要使用临时表
select identity(1,1) as id,* into #t1 from Infos