SQL中使用ROW_NUMBER()数据库分页

来源:互联网 发布:wow for mac 国服 编辑:程序博客网 时间:2024/06/07 07:05

示例代码:

DECLARE @endRow INT;
DECLARE @filed NVARCHAR(128);
DECLARE @sort NVARCHAR(10);
DECLARE @SQL NVARCHAR(300);

    -- Insert statements for procedure here
SET @pageIndex = 1;
SET @pageSize = 2;
SET @startRow = (@pageIndex - 1) * @pageSize + 1;
SET @endRow = @startRow + @pageSize - 1;
SET @filed = N'([leagueBattleWin] + [leagueBattleLost])';
SET @sort = N'DESC';

SET @SQL = 'SELECT * FROM
                (SELECT *,
                ROW_NUMBER() OVER (ORDER BY ' + @filed + ' ' + @sort + ') AS RowNumber FROM [dbo.spt_mointor]) T
                WHERE T.RowNumber BETWEEN ' + STR(@startRow) + ' AND '+ STR(@endRow)
EXEC (@SQL)

原创粉丝点击