首页 > 代码库 > Sqlserver中实现oralce 数据库的rownumber

Sqlserver中实现oralce 数据库的rownumber

引用自:http://cai555.javaeye.com/blog/466033

方法1:

with temp as

( select row_number() over(order by cityID) as rownum,cityName from city )

select * from temp where rownum between 10 and 20

go

解释:

1 此方法把括号里的查询结果放到变量:temp 里面( 我也不确定是不是变量), 并用row_number() 函数进行一个行号跟踪, 再用over 函数进行一个列的排序规则( 是这必须的), 并指定列名为‘rownum‘

2 紧接着在下面的语句可以对 ‘rownum‘ 进行一个指定行号的查询

3 此批语句执行完毕后, 变量:temp 释放

方法2:

select identity(int,1,1) as rownum, cityName into #temp from city

select * from #temp where rownum between 10 and 20

go

解释:

此方法跟上面的差不多的意思, 只不过把 row_number() 函数换成了 identity() 函数

并把结果集放在一个临时表里面, 当批语句执行完毕, 此临时表还可以使用