设为首页 加入收藏

TOP

查询31到40条记录的各种方法
2014-11-23 22:27:01 来源: 作者: 【 】 浏览:10
Tags:查询 记录 各种 方法

查询31到40条记录的各种方法
平常工作,尤其是面试中经常遇到这样一个问题,查询表A中31到40条的记录,ID可能是不连续的。
如果ID连续
select * from A where ID between 31 and 40
如果ID不连续,提供三种写法
www.2cto.com
--两次对表A查询效率较低
select top 10 * from A where ID not in (select top 30 ID from A)
--外层查询没有对表A查询,效率大有提高
select top 10 * from (select top 40 * from A) as t order by t.ID desc
--ROW_NUMBER()函数效率更高,sqlserver2005以及以上版本中才可以使用
select * from (select ROW_NUMBER() over(order by ID) as 'sequence',A.* from A ) as t where t.sequence between 31 and 40
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SQL各种join 下一篇SET XACT_ABORT各种用法及显示结果

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: