SQL:

CREATE PROCEDURE PagingViewTest
(@currentPageIndex INT, --页序号@pageSize INT, --页大小@pageCount INT OUTPUT  --返回值,总记录数
)
AS
BEGIN--取总记录数
SELECT @pageCount=COUNT(OrderID) FROM dbo.sale_Order;
--利用CTE以提高执行效率
WITH Result
AS
(SELECT ROW_NUMBER() OVER(ORDER BY OrderID) AS rowNumber,* FROM sale_order s
)
SELECT * FROM Result r
WHERE ((@currentPageIndex-1)*@pageSize < rowNumber) AND (rowNumber <=@currentPageIndex*@pageSize)
END

执行结果:

一直想自己实现分页的存储过程,一直没实现,今天没偷懒,言归正传,简略讲下分页的原理:分页有几个参数,当前页序号(即第几页,必须),页大小(每页显示数量,必须),总页数(可选),总记录数(可选),前台查询数据时需要向后台至少发送两个必选参数。参数有了,SQL Server也就不愁分页啦!利用Row_Number的主要原因是要对表进行编号,以确定表中记录是第X页中第X条数据,执行完Row_Number函数的表如下:

看到rowNumber列相信大家都有思路了,只要加上where条件 前一页面*每页大小< rowNumber and。rowNumber <= 当前页面*每页大小 即可,原理就是这些,可以基于这个思路继续拓展,比如传入表名实现通用表或者视图的分页等等。

今天关于SQL分页就介绍到这里,欢迎大家批评指正。

转载于:https://www.cnblogs.com/the-three/p/3726179.html

T-SQL利用Row_Number函数实现分页相关推荐

  1. Sql Server 2005 ROW_NUMBER 函数实现分页

    过去用SQL Server 2000分页的,大多都用到了临时表.SQL Server 2005 ROW_NUMBER 函数支持分页,性能据说也非常不错. Paging Records Using SQ ...

  2. SQL中 ROW_NUMBER 函数的用法

    SQL中 ROW_NUMBER 函数的用法 ROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号.在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是 ...

  3. SQL中row_number函数用法

    row_number函数用法 1.函数讲解 2.LeetCode实战 1.函数讲解 语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) ...

  4. SQL Server使用ROW_NUMBER函数进行分页

    2019独角兽企业重金招聘Python工程师标准>>> ALTER PROCEDURE PROC_PAGEING@qCols varchar(4000), -- 查询列 @qTabl ...

  5. SQL Server中row_number函数用法介绍

    一.SQL Server Row_number函数简介 ROW_NUMBER()是一个Window函数,它为结果集的分区中的每一行分配一个连续的整数. 行号以每个分区中第一行的行号开头. 语法实例: ...

  6. SQL With As 用法Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介

    Sql 四大排名函数(ROW_NUMBER.RANK.DENSE_RANK.NTILE)简介 排名函数是Sql Server2005新增的功能,下面简单介绍一下他们各自的用法和区别.我们新建一张Ord ...

  7. SQL Server数据库partition by 与ROW_NUMBER()函数使用详解[转]

    关于SQL的partition by 字段的一些用法心得 先看例子: if object_id('TESTDB') is not null drop table TESTDB create table ...

  8. sql 四大排名函数---(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介

    1.ROW_NUMBER() 定义:ROW_NUMBER()函数作用就是将select查询到的数据进行排序,每一条数据加一个序号,他不能用做于学生成绩的排名,一般多用于分页查询,  比如查询前10个 ...

  9. Python之Pandas:利用Pandas函数实现对表格文件的查之高级查询(类似sql,分组查询等)之详细攻略

    Python之Pandas:利用Pandas函数实现对表格文件的查之高级查询(类似sql,分组查询等)之详细攻略 目录 利用Pandas函数实现对表格文件的查之高级查询(类似sql) 1.分组查询

最新文章

  1. python http 身份认证简介
  2. Android应用程序组件Content Provider在应用程序之间共享数据的原理分析(2)
  3. flash FMS的一些最优参数设置
  4. viper4android 魅族6,手机资讯导报:魅族自曝新旗舰PRO6摄像头不凸起
  5. 量化策略回测TRIXKDJ
  6. Hadoop生态圈-Zookeeper的工作原理分析
  7. 计算机网络中的交换技术
  8. jQuery源码分析系列(35) : Ajax - jsonp的实现与原理
  9. JAVA描述汽车喇叭_描写车声音的词语
  10. 关于二手房的Python数据分析
  11. NameCheap域名和Amazon EC2
  12. 罗森伯格成功布线五星蕴海建国饭店
  13. java 像素点 生成图片_黑白图片的两种生成方法
  14. btrfs和ntfs linux5,如何选择文件系统EXT4、Btrfs 和 XFS
  15. 两个比较好的ooc(面向对象c语言编程)库
  16. 【天光学术】新闻学论文:校园网络流行语传播社会热点问题的途径(节选)
  17. JGG专刊征稿:时空组学
  18. 购房贷款 等额本息 等额本金
  19. 用h5的canvas实现动画的泡沫
  20. 2018互联网大厂秋招编程通关(二)

热门文章

  1. react-navigation 跨 tabs 返回首页
  2. MFC界面库BCGControlBar v25.3新版亮点:Dialogs和Forms
  3. 紧急通知:360 网站卫士前端公共库已停止服务
  4. 关于tomcat和sessionCookieName和SESSION_PARAMETER_NAME以及disableURLRewriting参数原理和使用...
  5. 使用C#制作简易的注册表编辑器
  6. idea tomcat启动成功但是访问方面都是404_IDEA相关配置【集成Tomcatamp;项目部署】...
  7. 第三篇.python编辑器和集成环境01
  8. Bookshelf 2 简单DFS
  9. python实现批量压缩文件夹
  10. [ 转载 ] Java面试精选【Java基础第一部分】