SQLServer 的数据分页:

假设现在有这样的一张表:
CREATE TABLE test
(
 id int primary key not null identity,
 names varchar(20)
)
然后向里面插入大约1000条数据,进行分页测试
假设页数是10,现在要拿出第5页的内容,查询语句如下:
--10代表分页的大小
select top 10 *
from test
where id not in
(
 --40是这么计算出来的:10*(5-1)
 select top 40 id from test order by id
)
order by id
原理:需要拿出数据库的第5页,就是40-50条记录。首先拿出数据库中的前40条记录的id值,然后再拿出剩余部分的前10条元素

第二种方法:
还是以上面的结果为例,采用另外的一种方法
--数据的意思和上面提及的一样
select top 10 *
from test
where id >
(
 select isnull(max(id),0)
 from 
  (
   select top 40 id from test order by id
  ) A
)
order by id
原理:先查询前40条记录,然后获得其最id值,如果id值为null的,那么就返回0
然后查询id值大于前40条记录的最大id值的记录。
这个查询有一个条件,就是id必须是int类型的。

第三种方法:
select top 10 *
from 
(
 select row_number() over(order by id) as rownumber,* from test
) A
where rownumber > 40
原理:先把表中的所有数据都按照一个rowNumber进行排序,然后查询rownuber大于40的前十条记录
这种方法和oracle中的一种分页方式类似,不过只支持2005版本以上的

第四种:
存储过程查询
创建存储过程
alter procedure pageDemo
@pageSize int,
@page int
AS
declare @temp int
set @temp=@pageSize*(@page - 1)
begin
 select top (select @pageSize) * from test where id not in (select top (select @temp) id from test) order by id
end
执行存储过程
exec 10,5

sqlserver的分页查询相关推荐

  1. Oracle、MySql、SQLServer 数据库分页查询语句

    (一).** mysql的分页查询** mysql的分页查询是最简单的,借助关键字limit即可实现查询,查询语句通式: /* * sql:可以是单表的查询语句,也可以是多表的联合查询语句* firs ...

  2. Sqlserver 数据库分页查询(三种方式)

    --第一种分页:sqlserver 2000-sqlserver2005 --假设:每页显示5条, 当前页:1  则查询1-5 --不等于前5条的前5条 select top 5 * from  St ...

  3. sqlserver进行分页查询

    SqlServer 的三种分页查询语句 先说好吧,查询的数据排序,有两个地方(1.分页前的排序.2.查询到当前页数据后的排序) 第一种. 1. 先查询当前页码之前的所有数据id select top ...

  4. jsp+ajax+servlet+sqlserver实现分页查询_SXT DAY063 分页

    分页技术 分页意义和实现思路 分页的作用 数据量大,一页容不下 后台查询部分数据而不是全部数据 降低带宽使用,提高访问速度 • 分页的实现思路 MVC四个层次都需要参与分页操作 理解PageBean ...

  5. 高效的SQLSERVER分页查询

    Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID.YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询 ...

  6. sqlServer如何实现分页查询

    sqlServer的分页查询和mysql语句不一样,有三种实现方式.分别是:offset /fetch next.利用max(主键).利用row_number关键字 一.offset /fetch n ...

  7. jdbc结合sqlserver的javaWeb工程的分页查询共通操作代码

    搜索这个标题找到一篇文章: 适用所有使用jdbc结合sqlserver的javaWeb工程的分页查询共通操作代码 http://alexlsg.iteye.com/blog/700015 看了之后,试 ...

  8. php+sqlserver实现分页效果

    找了一些实现的代码,都或多或少有点问题. 主要问题在于: 在进行一页数据查询时的sql语句格式问题, 开始尝试使用limit关键字查询,错误,limit用于mysql: 接着使用ROWNUM.row_ ...

  9. 数据库:SQLServer分页查询整理

    作为程序员来说,与数据库打交道是十分频繁的分页查询是一个开发者必须掌握的基本知识点,目前整理了下面三种SQLServer分页查询语句的写法,仅供参考. 一.Top Not IN 方式(查询靠前的数据较 ...

最新文章

  1. 太任性!17 岁少年买不到回国机票,因“泄愤”攻击航司系统,被判刑 4 年
  2. Linux如何编译安装源码包软件
  3. ubuntu ls命令
  4. 线上服务被干爆了,竟然是日志的锅!!
  5. html禁用选择,html – 设置可选的禁用属性
  6. 我学Delphi心得及笔记----用户自定义数据类型(第三讲)
  7. 致敬学习者丨黑马2020年度TOP榜视频教程,一键领!
  8. 高性能初级维修电工及技能考核实训装置
  9. 小米盒子 计算机共享,小米盒子如何通过局域网共享安装软件
  10. linux压缩到最小命令,Linux压缩打包命令
  11. Unity游戏开发背景知识
  12. python爬取LOL皮肤
  13. 大巧不工 JGraph简介和使用技巧(转)
  14. 2022进军阿里P6,6点面试经验总结
  15. 【笔记------STM32】高级定时器TIM1,CH3N输出PWM的示例
  16. 流行手机谜语大解密 (爱情诗)
  17. iOS - 选取相册中iCloud云上图片和视频的处理
  18. zip和tgz以及exe的区别
  19. 不得不知道的搜索引擎使用技巧(思维导图版)
  20. ENVI无法打开landsat level2级产品的解决办法

热门文章

  1. 计算机组成原理第七章笔记---输入输出
  2. Android 源码目录结构
  3. linux 拼图游戏,王牌拼图红包版
  4. 计算机wonder基础知识,WonderSkills教材来了!一套更适合中国孩子的美国语文教材...
  5. mbedtls学习2.mbedtls从0使用指南
  6. 函数的参数和函数的值
  7. 2021快递物流装备技术暨供应链博览会|冷链运输展|智能仓储运输展
  8. python opencv入门 Meanshift 和 Camshift 算法(40)
  9. 信息论小课堂:纠错码(海明码在信息传输编码时,通过巧妙的信道编码保证有了错误能够自动纠错。)
  10. 为啥一定要用残差图检查你的回归分析?