T-SQL利用Row_Number函数实现分页
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函数实现分页相关推荐
- Sql Server 2005 ROW_NUMBER 函数实现分页
过去用SQL Server 2000分页的,大多都用到了临时表.SQL Server 2005 ROW_NUMBER 函数支持分页,性能据说也非常不错. Paging Records Using SQ ...
- SQL中 ROW_NUMBER 函数的用法
SQL中 ROW_NUMBER 函数的用法 ROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号.在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是 ...
- SQL中row_number函数用法
row_number函数用法 1.函数讲解 2.LeetCode实战 1.函数讲解 语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) ...
- SQL Server使用ROW_NUMBER函数进行分页
2019独角兽企业重金招聘Python工程师标准>>> ALTER PROCEDURE PROC_PAGEING@qCols varchar(4000), -- 查询列 @qTabl ...
- SQL Server中row_number函数用法介绍
一.SQL Server Row_number函数简介 ROW_NUMBER()是一个Window函数,它为结果集的分区中的每一行分配一个连续的整数. 行号以每个分区中第一行的行号开头. 语法实例: ...
- SQL With As 用法Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介
Sql 四大排名函数(ROW_NUMBER.RANK.DENSE_RANK.NTILE)简介 排名函数是Sql Server2005新增的功能,下面简单介绍一下他们各自的用法和区别.我们新建一张Ord ...
- SQL Server数据库partition by 与ROW_NUMBER()函数使用详解[转]
关于SQL的partition by 字段的一些用法心得 先看例子: if object_id('TESTDB') is not null drop table TESTDB create table ...
- sql 四大排名函数---(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介
1.ROW_NUMBER() 定义:ROW_NUMBER()函数作用就是将select查询到的数据进行排序,每一条数据加一个序号,他不能用做于学生成绩的排名,一般多用于分页查询, 比如查询前10个 ...
- Python之Pandas:利用Pandas函数实现对表格文件的查之高级查询(类似sql,分组查询等)之详细攻略
Python之Pandas:利用Pandas函数实现对表格文件的查之高级查询(类似sql,分组查询等)之详细攻略 目录 利用Pandas函数实现对表格文件的查之高级查询(类似sql) 1.分组查询
最新文章
- python http 身份认证简介
- Android应用程序组件Content Provider在应用程序之间共享数据的原理分析(2)
- flash FMS的一些最优参数设置
- viper4android 魅族6,手机资讯导报:魅族自曝新旗舰PRO6摄像头不凸起
- 量化策略回测TRIXKDJ
- Hadoop生态圈-Zookeeper的工作原理分析
- 计算机网络中的交换技术
- jQuery源码分析系列(35) : Ajax - jsonp的实现与原理
- JAVA描述汽车喇叭_描写车声音的词语
- 关于二手房的Python数据分析
- NameCheap域名和Amazon EC2
- 罗森伯格成功布线五星蕴海建国饭店
- java 像素点 生成图片_黑白图片的两种生成方法
- btrfs和ntfs linux5,如何选择文件系统EXT4、Btrfs 和 XFS
- 两个比较好的ooc(面向对象c语言编程)库
- 【天光学术】新闻学论文:校园网络流行语传播社会热点问题的途径(节选)
- JGG专刊征稿:时空组学
- 购房贷款 等额本息 等额本金
- 用h5的canvas实现动画的泡沫
- 2018互联网大厂秋招编程通关(二)
热门文章
- react-navigation 跨 tabs 返回首页
- MFC界面库BCGControlBar v25.3新版亮点:Dialogs和Forms
- 紧急通知:360 网站卫士前端公共库已停止服务
- 关于tomcat和sessionCookieName和SESSION_PARAMETER_NAME以及disableURLRewriting参数原理和使用...
- 使用C#制作简易的注册表编辑器
- idea tomcat启动成功但是访问方面都是404_IDEA相关配置【集成Tomcatamp;项目部署】...
- 第三篇.python编辑器和集成环境01
- Bookshelf 2 简单DFS
- python实现批量压缩文件夹
- [ 转载 ] Java面试精选【Java基础第一部分】