博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
T-SQL利用Row_Number函数实现分页
阅读量:5952 次
发布时间:2019-06-19

本文共 849 字,大约阅读时间需要 2 分钟。

SQL:

CREATE PROCEDURE PagingViewTest(   @currentPageIndex INT, --页序号   @pageSize INT, --页大小   @pageCount INT OUTPUT  --返回值,总记录数)ASBEGIN --取总记录数SELECT @pageCount=COUNT(OrderID) FROM dbo.sale_Order;--利用CTE以提高执行效率WITH ResultAS(   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

你可能感兴趣的文章
2016年CIO的五个优先级
查看>>
移动办公之路的行业探索
查看>>
Berg Insight:移动M2M连接将实现长足发展
查看>>
2017年云计算行业新动向盘点
查看>>
雅虎因发送垃圾短信面临50万人集体诉讼
查看>>
linux curl 命令(转)
查看>>
Qt设计器中,使用QToolBar控件的技巧
查看>>
安裝linux後的內核調優
查看>>
ESXi 5.1 安装 Mac OSX Lion 10.7
查看>>
ASA防火墙 NAT新版老版的配置方法对比
查看>>
中国五大顶级域名9月第一周新增3.2万 美国净减7.6万个
查看>>
11月苹果移动设备份额TOP10:iPhone 6上榜居六
查看>>
6月第4周全球域名注册商(国际域名)新增注册量TOP22
查看>>
2016年1月中国域名商解析量14强:排名变动大
查看>>
IntelliJ IDEA 14 license key gen
查看>>
ogg启动报错libnnz11.so: cannot open shared object file
查看>>
如何实现“持续集成”?闲鱼把研发效率翻了个翻
查看>>
IT人的“钱”景以及收入的两道坎
查看>>
PHP 5.4.8 添加系统服务命令
查看>>
jdk与jre的区别
查看>>