`
xxd
  • 浏览: 21186 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

T-SQL - 分页查询(ROW_NUMBER() OVER 语句)

SQL 
阅读更多
DECLARE @rows_per_page AS INTEGER
DECLARE @current_page AS INTEGER
DECLARE @total_pages AS INTEGER
DECLARE @start_item AS INTEGER
DECLARE @items_count AS INTEGER
-- 设置每页的行数
SET @rows_per_page = 10
-- 设置要显示的页号(从1开始)
SET @current_page = 3
SELECT @total_pages = COUNT(*) / @rows_per_page + 1,
@items_count= COUNT(*)
FROM BarefootIndex;--表名(这是修改的地方)
--计算此页中从第几个开始显示
SET @start_item = @rows_per_page * (@current_page - 1)
select * from
(
select ROW_NUMBER() OVER (order by ID) as item--用什么排序(返回正在显示第几条)
,@items_count AS items_count --一共有多少条
,@current_page AS current_page --当前页
,@total_pages AS total_pages --一共多少页
,* from BarefootIndex--表名(这是修改的地方)
) as T
where T.item >= @start_item + 1
AND T.item
分享到:
评论

相关推荐

    sqlserver2005使用row_number() over分页的实现方法

    语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) <BR> 例子: 代码如下: select * from ( select *, ROW_NUMBER() OVER(Order by a.CreateTime DESC ) AS RowNumber from table_name as a ) as b ...

    SQL Server中row_number分页查询的用法详解

    ROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号。在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是一致的,当使用ROW_NUMBER函数时,也需要专门一列用于预先排序以...

    sqlserver存储过程

    ---创建数据库 create database CRM; --删除数据库 drop database CRM; --创建一个表 if exists(select * from sysobjects where name='... select row_number() over(order by Id) as rowId, * from Users ) temp ...

    二种sql分页查询语句分享

    代码如下://第一种:select * from (select ROW_NUMBER() over(order by Id asc) as num,* from UserInfo)as u where u.num between 10*(4-1)+1 and 10*4//第二种:select top 10 * from UserInfo where Id ...

    SQL行号排序和分页(SQL查询中插入行号 自定义分页的另类实现)

    SELECT * FROM #1 B.SQL 2005提供一个很好用的函数row_number(), 可以直接用来显示行号,当然也可以使用SQL 2000的identity SELECT row_number()over(ORDER BY DataID) AS ROWNUM, [DataID] FRO

    高效的通用分页存储过程

    'select row_number() over (order by ' + @strSort + ') as RowNum ,' + @fldName + ' from ' + @tblName + ') a where a.RowNum > ' + cast((@page -1) * @pageSize as varchar(128)) + ' and a.RowNum (@...

    SQL Server 在分页获取数据的同时获取到总记录数

    ROW_NUMBER() OVER(ORDER BY Id DESC) rn, COUNT(1) OVER() AS TotalCount, Id FROM dbo.T_User )a WHERE a.rn BETWEEN 1 AND 5 第二种方式既分页还能获取到总记录数量。就是多一个字段,如果获取一次数据较...

    SQL2005 高效分页sql语句

    1、 代码如下: select top 10 * from ( select top (@Page * 10) ROW_NUMBER() OVER (order by id) as RowNum, id, username from Guest where username = ‘user’ ) as T where RowNum > ((@Page – 1) * 10) 2、 ...

    SQL分页查询方式汇总

    需求:查询表dbo.Message,每页...2:BETWEEN * AND * , Row_Number() OVER(ORDER BY *) AS rowNum SELECT *,ROW_NUMBER() OVER(ORDER BY Code) AS rowNum INTO #a FROM dbo.Message SELECT * FROM #a WHERE rowNum BE

    Oracle事例

    14、查询从多少行到多少行的记录(可以用在web开发中的分页显示) select * from ( select rownum row_id,b.* from (select a.* from sys_oper a) b ) where row_id between 15 and 20 15、对公共授予访问权 ...

    sql2005全文检索.doc

    ' ROW_NUMBER() OVER (ORDER BY RANK DESC) AS SerialNumber ,'+ ' F.[rank], '+ ' p.*' + ' FROM'+ ' FREETEXTTABLE( CapitalInfoFactTab , (ProvinceName, CityName,  CountyName, Keyword,Title ,IndustryBName ...

    pageshuoming

    1) * @PageSize + 1 SET @MaxPage = @MinPage + @PageSize BEGIN SELECT * FROM (SELECT *, ROW_NUMBER() OVER(ORDER BY SoftID DESC) AS RowNumber FROM V_SoftCategoryAndSoftInfo ) AS A ...

    SQL2005 大数据量检索的分页

    @StartIndex为当前页起始序号,@EndIndex为当前页结束记录序号,可以直接作为参数输入,也可以通过输入PageSize和PageIndex计算得出 代码如下:select * from ( select *,row_number() over(order by OrderColumn) as...

    C#构建分页应用的方法分析

    SELECT *,ROW_NUMBER() OVER (ORDER BY CreateTime DESC) AS RowNumber FROM [StockIC] WHERE 1=1 AND Model = 'FTY765OP' ) SELECT * FROM [temptableforStockIC] WHERE RowNumber BETWEEN 1 AND 10 2、后台方法 ...

Global site tag (gtag.js) - Google Analytics