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分页有所帮助。
您可能感兴趣
- 何谓SQLSERVER参数嗅探问题(何谓SQLSERVER参数嗅探问题)
- MongoDB命令与SQL语法对比
- 数据库sql语句大全及例题(数据库之SQL技巧整理案例)
- 在mysql语法中用来修改数据的命令(explain命令为什么可能会修改MySQL数据)
- plsql常用函数
- mysql数据库导入错误怎么处理(MySQL数据库导入导出数据之报错解答实例讲解)
- idea怎样连接mysql(IDEA配置连接MYSQL数据库遇到Failed这个问题解决)
- sysbenchmysql性能跑分(MySQL性能压力基准测试工具sysbench的使用简介)
- SqlServer 表单查询问题及解决方法(SqlServer 表单查询问题及解决方法)
- mysql判断表中字段是否存在(mysql插入前判断数据是否存在的操作)
- 详解DB2 sqlstate 57016 SQLCODE=-668 原因码 "7"错误的快速解决办法(详解DB2 sqlstate 57016 SQLCODE=-668 原因码 "7"错误的快速解决办法)
- sql server支持两种登录验证方式(远程登陆SQL Server 2014数据库的方法)
- sql server go语句
- sql数据库有几种数据类型(SQL的常用数据类型列表详解)
- mysql快速导入1亿数据(mysql批量新增和存储的方法实例)
- mysql索引的弊端(MySQL 全文索引的原理与缺陷)
- 每天1万吨牛奶倒进下水道,美国大萧条一幕重现(每天1万吨牛奶倒进下水道)
- 如何看待美国数十万加仑牛奶倒下水道 历史又重演了(如何看待美国数十万加仑牛奶倒下水道)
- 历史惊人的相似,美国80万加仑牛奶倒入下水道,意味着什么(历史惊人的相似)
- 美国数十万加仑牛奶倒进下水道,世界会重演1929年的大萧条吗(美国数十万加仑牛奶倒进下水道)
- 美国数十万加仑牛奶倒入下水道,贫民区食不果腹,历史再次重演(美国数十万加仑牛奶倒入下水道)
- 美国倒掉数十万加仑牛奶 上热搜第一,这一幕似曾相识(美国倒掉数十万加仑牛奶)
热门推荐
- dockerfile构建mysql镜像并初始化(docker-compose基于MySQL8部署项目的实现)
- 小程序可滑动弧形进度条(小程序实现文字循环滚动动画)
- python datetime模块是什么(Python中时间datetime的处理与转换用法总结)
- idea集成docker-compose(IDEA 集成 docker 实现远程部署的详细步骤)
- dedecms独立页面怎么加(dedecms调用当前栏目的子栏目的两种方法分享)
- php怎么根据字符串长度设置(php常用字符串长度函数strlen与mb_strlen用法实例分析)
- 闭包python讲解(详解Python循环作用域与闭包)
- vue和springboot实战项目(vue+spring boot实现校验码功能)
- sqlserver触发器修改当前字段(利用SQL Server触发器实现表的历史修改痕迹记录)
- 云服务器哪种操作系统好(云服务器选什么操作系统比较好?)