• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Leonny's Blog
走自己的路
博客园    首页    新随笔    联系   管理    订阅  订阅

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拼来拼去的. ^_^
 

 

posted @ 2008-12-08 12:19  Leonny  阅读(1290)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3