Paging in SQL
From Logic Wiki
Revision as of 09:45, 19 September 2017 by AliIybar (Talk | contribs) (Created page with "Category:SQL Category:Database <pre class="brush:sql;"> CREATE PROCEDURE dbo.Pagination_Test_1 -- ORDER BY CustomerID @PageNumber INT = 1, @PageSize INT = 100 A...")
CREATE PROCEDURE dbo.Pagination_Test_1 -- ORDER BY CustomerID
@PageNumber INT = 1,
@PageSize INT = 100
AS
BEGIN
SET NOCOUNT ON;
SELECT CustomerID, FirstName, LastName,
EMail, Active, Created, Updated
FROM dbo.Customers_I
ORDER BY CustomerID
OFFSET @PageSize * (@PageNumber - 1) ROWS
FETCH NEXT @PageSize ROWS ONLY OPTION (RECOMPILE);
END
GO
DECLARE @PageNumber INT; DECLARE @PageSize INT; SET @PageNumber = 1; SET @PageSize = 50; DECLARE @TotalRows INT; DECLARE @TotalPage INT; SELECT @TotalRows = COUNT(*) FROM tblPerson SET @TotalPage = @TotalRows / @PageSize SELECT *, @TotalPage AS TotalPage, @TotalRows AS TotalRows FROM tblPerson ORDER BY ID OFFSET @PageSize * (@PageNumber - 1) ROWS FETCH NEXT @PageSize ROWS ONLY;
https://sqlperformance.com/2015/01/t-sql-queries/pagination-with-offset-fetch