当前位置:  数据库>sqlserver

查询31到40之间数据的方法总结

    来源: 互联网  发布时间:2014-08-29

    本文导语:  sql问题:查询表A中31到40条的记录,ID可能是不连续的。 如果ID连续 代码如下: select * from A where ID between 31 and 40 如果ID不连续,提供三种写法 代码如下: --两次对表A查询效率较低 select top 10 * from A where ID not in (select top 30 ID from ...

sql问题:查询表A中31到40条的记录,ID可能是不连续的。
如果ID连续

代码如下:
select * from A where ID between 31 and 40

如果ID不连续,提供三种写法

代码如下:
--两次对表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 order by ID) 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

朋友们提供的方法:

@金色海洋(jyk)阳光男孩

代码如下:
--如果是海量数据做查询的话,这个是更高效的,这个不错
select top 10 * from A where id in
(select top 10 id from (select top 40 id from A order by ID desc) as t order by t.ID )
order by A.ID desc

@害怕飞的鸟

代码如下:
--这哥们给出了sql2012的新写法,我机器上没装这么前卫的工具,在我老大的机器上测试可行,性能效率暂不明确
SELECT * FROM A Order by ID OFFSET 30 ROWS FETCH NEXT 10 ROWS ONLY

还有没有其它方法,大家可以进 脚本学堂 QQ群:161228069 进行交流。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ubuntu系统中软件安装、卸载以及查询是否已经安装某个软件包的方法
  • 清空mysql 查询缓存的可行方法
  • 请教jsp数据查询的分页方法?
  • 问个比较菜的问题: LINUX如何查询C函数的使用方法?
  • ThinkPHP查询中的魔术方法简述
  • Oracle数据库并行查询出错的解决方法
  • sqlserver 查询数据库大小的方法
  • SQL日期查询与比较方法
  • 查询sql server数据库表占用空间大小的两种方法
  • 查询表中某字段有重复记录个数的方法
  • MySql实现跨表查询的方法详解
  • sql 单引号查询异常的解决方法
  • SQLserver查询数据类型为ntext是空或NULL值的方法
  • c# 天气预报查询(winform方法)的实现代码(图文)
  • sql server中通过查询分析器实现数据库的备份与恢复方法分享
  • 查询存储过程中特定字符的方法
  • ThinkPHP多表联合查询的常用方法
  • MySQL单表多关键字模糊查询的实现方法
  • 求一个linux 查询字符串的 方法
  • oracle查询不含括号及不含指定字符的方法
  • php通过数组实现多条件查询实现方法(字符串分割)
  • MongoDB 2.5新查询引擎简介
  • mysql查询语句通过limit来限制查询的行数
  • Mysql查询错误:ERROR:no query specified原因
  • red hat 4.6如何查询到底有几个swap分区?如何查询是否都激活了?
  • Mysql设置查询条件(where)查询字段为NULL
  • Oracle将查询的结果放入一张自定义表中并再查询数据
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • MySQL查询优化:用子查询代替非主键连接查询实例介绍
  • Mysql Select查询执行流程介绍及实例
  • having与子查询 查询各门课程超过80分的学生姓名


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3