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实现分页的更多相关文章
- 使用SQL Server 2005 新的语法ROW_NUMBER()进行分页的两种不同方式的性能比较
相比在SQL Server 2000 中使用的分页方式,在SQL Server 2005中使用新的语法ROW_NUMBER()来分页效率要高出很多,但是很多人在使用ROW_NUMBER()这种分页方式 ...
- row_number() over()分页查询
1.首先讲下row_number() over() 是干什么的? 是一个分析函数,会在数据表生成一个排序列. 案例SQL: select ROW_NUMBER() over(order by book ...
- 在论坛中出现的比较难的sql问题:5(row_number函数 分页、随机返回数据)
原文:在论坛中出现的比较难的sql问题:5(row_number函数 分页.随机返回数据) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 1.在inner join后, ...
- 用oracle中的Row_Number实现分页
Row_Number实现分页 1:首先是 select ROW_NUMBER() over(order by id asc) as 'rowNumber', * from table1 生成带序号 ...
- Row_Number实现分页(适用SQL)
1:首先是 select ROW_NUMBER() over(order by id asc) as 'rowNumber', * from table1 生成带序号的集合 2:再查询该集合的 第 1 ...
- jqgrid使用sql row_number进行分页
背景 系统中使用了jqgrid的展示,现在要处理10w+的数据量 现状 使用了全查询的,查询到了10w+的数据放到了datatable中,每次页面刷新需要9秒多,并且传递给另一个dll来处理一些事情. ...
- SQL ROW_NUMBER() 通用分页存储过程
--提取分页数据,返回总记录数 Create procedure [dbo].[sp_Common_GetDataPaging_ReturnDataCount] ( @SqlString varcha ...
- SQL Server 使用ROW_NUMBER()进行分页
代码示例: WITH domain AS(SELECT ROW_NUMBER() OVER(ORDER BY ID DESC) ids,* FROM dbo.DomainInfo) SELECT * ...
- SQL中利用ROW_NUMBER()进行分页查询
SELECT ContractName ,ContractNO, State,CreateDate FROM (SELECT ContractName ,ContractNO,CreateDate, ...
随机推荐
- [妙味Ajax]第三课:AJAX跨域解决方案:JSONP
知识点总结: JSONP(JSON with Padding): 1.script标签 2.用script标签加载资源是没有跨域问题的 在资源加载进来之前定义好一个函数,这个函数接收一个参数(数据), ...
- B/S和C/S的区别。
现在软件开发的整体架构主要分为B/S架构与C/S架构 一,C/S——Client/Service:客户机/服务器模式: C/S (Client/Server)结构,即大家熟知的客户机和服务器结构.它是 ...
- HDU 1564 Play a game
Description New Year is Coming! ailyanlu is very happy today! and he is playing a chessboard game wi ...
- ggplot2 geom设置—散点图
散点图也是目前R中的常用的图形之一 geom_point(mapping = NULL, data = NULL, stat = "identity", position = &q ...
- IOS 中会发生crash的操作
对字典和数组进行下列操作时会产生crash: 对于字典来说: 查询时,key=nil 或者 key=null 时都能正常运行 插入时,,key=nil 或者 key=null 都会crash 对于数组 ...
- erlang套接字
Erlang的套接字可以有三种打开模式:主动(active).单次主动(active once)或被动(passive).这是通过在gen_tcp:connect(Address, Port, Opt ...
- erlang四大behaviour之一gen_server
来源:http://www.cnblogs.com/puputu/articles/1701017.html erlang程序设计里面有个设计原则就是把你的进程构造成树,把共用代码提出来,特定功能 ...
- Sersync同步过滤.svn文件夹
Sersync同步过滤.svn文件夹 <filter start="true"> <exclude expression="(.*).svn(.*)&q ...
- bkViewer V4.9k(数码照片浏览工具)中文免费版
软件名称: bkViewer 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win7 / Vista / Win2003 / WinXP 软件大小: 990KB 图片预览: 软件简介: 专为 ...
- css样式表及属性
CSS(Cascading Style Sheet,叠层样式表),作用是美化HTML网页. /*注释区域*/ 此为注释语法 一.样式表 (一)样式表的分类 1.内联样式表 和HTML联合显示,控 ...