MS SQL Server2005如何得到记录的行号

在Oracle中有一个rownum可以得到每条记录的行号,
但在以前版本的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


PS. 这样的分页效果明眼人一看就知道效率如何了. 小数据量还好, 大数据量的话...真是和Oracle没法比啊. 呵呵
不知道大家还有没有更好的大数据量分页方法, 要简单的哦, 不要SQL拼来拼去的. ^_^
 

 

你可能感兴趣的:(SQL Server)