sqlserver 多实例怎么算许可(SQL Server使用row_number分页的实现方法)
类别:数据库 浏览量:1036
时间:2022-03-30 14:27:40 sqlserver 多实例怎么算许可
SQL Server使用row_number分页的实现方法本文为大家分享了SQL Server使用row_number分页的实现方法,供大家参考,具体内容如下
1、首先是
select ROW_NUMBER() over(order by id asc) as 'rowNumber', * from table1
生成带序号的集合
2、再查询该集合的 第 1 到第 5条数据
select * from (select ROW_NUMBER() over(order by id asc) as 'rowNumber', * from table1) as temp where rowNumber between 1 and 5
完整的Sql语句
declare @pagesize int; declare @pageindex int; set @pagesize = 3 set @pageindex = 1; --第一页 select * from (select ROW_NUMBER() over(order by id asc) as 'rowNumber', * from table1) as temp where rowNumber between (((@pageindex-1)*@pagesize)+1) and (@pageindex*@pagesize) set @pageindex = 2; --第二页 select * from (select ROW_NUMBER() over(order by id asc) as 'rowNumber', * from table1) as temp where rowNumber between (((@pageindex-1)*@pagesize)+1) and (@pageindex*@pagesize) set @pageindex = 3; --第三页 select * from (select ROW_NUMBER() over(order by id asc) as 'rowNumber', * from table1) as temp where rowNumber between (((@pageindex-1)*@pagesize)+1) and (@pageindex*@pagesize) set @pageindex = 4;--第四页 select * from (select ROW_NUMBER() over(order by id asc) as 'rowNumber', * from table1) as temp where rowNumber between (((@pageindex-1)*@pagesize)+1) and (@pageindex*@pagesize)
下面我们来写个存储过程分页
Alter Procedure PagePager @TableName varchar(80), @File varchar(1000),--- @Where varchar(500),---带and连接 @OrderFile varchar(100), -- 排序字段 @OrderType varchar(10),--asc:顺序,desc:倒序 @PageSize varchar(10), -- @PageIndex varchar(10) -- as if(ISNULL(@OrderFile, '') = '') begin set @OrderFile = 'ID'; end if(ISNULL(@OrderType,'') = '') begin set @OrderType = 'asc' end if(ISNULL(@File,'') = '') begin set @File = '*' end declare @select varchar(8000) set @select = ' select ' + @File + ' from ( select *,ROW_NUMBER() over(order by ' + @OrderFile + ' '+ @OrderType + ') as ''rowNumber'' from ' + @TableName + ' where 1=1 ' + @Where + ' ) temp where rowNumber between (((' + @PageIndex + ' - 1) * ' + @PageSize + ')+1) and (' + @PageIndex + '*'+ @PageSize+')' exec(@select)
以上就是本文的全部内容,希望对大家学习row_number分页有所帮助。
您可能感兴趣
- mysqljoin语句用法(MySQL的join buffer原理)
- docker 镜像mysql(解决docker拉取mysql镜像太慢的情况)
- mysql权限收回(MySQL如何利用DCL管理用户和控制权限)
- sql server显示当前登录用户命令(SQL Server正确删除Windows认证用户的方法)
- mysqlreplace用法(细说mysql replace into用法)
- sql server案例(SQL Server作业报错特殊案例分析)
- sqlcount函数转化为数值型(SQL判断是否"存在",还在用 count 操作?很耗时的!)
- SQL Server Check 约束
- mysql存储过程定义表(MySQL存储过程的创建、调用与管理详解)
- sql server查看之前的代码(SQL Server简单实现数据的日报和月报功能)
- mysql深度分页问题(MySQL DDL 引发的同步延迟该如何解决)
- SQL中的@@Error的使用
- SQL Server唯一约束
- navicat连接mysql报1045(解决Navicat for MySQL 连接 MySQL 报2005错误的问题)
- python实现sql脚本规范(基于Python的SQL Server数据库实现对象同步轻量级)
- mysql索引如何使用(MySQL 索引和数据表该如何维护)
- 8月再见 9月你好(8月再见)
- 魔兽世界 设计师爆料,原始版本并无PVP,跨阵营属于返璞归真(魔兽世界设计师爆料)
- 吐槽完《弧光大作战》之后,我们和设计师聊了聊魔兽首款手游的立项初衷和未来(吐槽完弧光大作战之后)
- 魔兽争霸3自定义战役少年杰雷 2(魔兽争霸3自定义战役少年杰雷)
- 今日菜价 芥兰涨幅最高 1.33 ,花菜降幅最高 3.10(今日菜价芥兰涨幅最高)
- 今日菜价 椰菜涨幅最高 3.25 ,水空心菜降幅最高 2.58(今日菜价椰菜涨幅最高)
热门推荐
- python电脑自动发送邮件(python学习--使用QQ邮箱发送邮件代码实例)
- mysql建立分区表指令(MySQL高级特性——数据表分区的概念及机制详解)
- ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解(ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解)
- 远程访问服务器网络方案(基于http.server搭建局域网服务器过程解析)
- php常见的数组函数(用php定义一个数组最简单的方法)
- 关闭visual studio 的实时调试
- css3渐变背景图片(css3实现背景图片半透明内容不透明的方法示例)
- css什么时候可以用百分比(浅谈CSS中的百分比)
- ubuntu ssh登录服务器(ubuntu开启SSH服务远程登录操作的实现)
- phpstudy的mysql无法启动(Windows系统下解决PhPStudy MySQL启动失败问题)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9