MS SQL Server2005如何得到记录的行号
在Oracle中有一个rownum可以得到每条记录的行号,
但在以前版本的MS SQL Server中一直没有类似的关键字或内部函数,
但在以前版本的MS SQL Server中一直没有类似的关键字或内部函数,
因此以往使用MS SQL Server时记录的分页一直是个很让人头痛的问题.
但在2005版, 它提供了一个内建函数ROW_NUMBER().
通过它现结合Over()函数就可以轻松对记录进行分页了.
代码:
select * from (select
ROW_NUMBER() OVER (order by orderColumn)as RowNumber,
* from tableName) as tmpTable
where RowNumber between 50 and 60
ROW_NUMBER() OVER (order by orderColumn)as RowNumber,
* from tableName) as tmpTable
where RowNumber between 50 and 60
PS. 这样的分页效果明眼人一看就知道效率如何了. 小数据量还好, 大数据量的话...真是和Oracle没法比啊. 呵呵
不知道大家还有没有更好的大数据量分页方法, 要简单的哦, 不要SQL拼来拼去的. ^_^