Osman KURT

Kendime Not

MSSQL Üzerinde Sayfalama İşlemi

Merhabalar,

MSSQL 2008 ve MSSQL 2012 de sayfalama işleri nasıl yapılır.

MSSQL 2008

Declare @pageNumber INT=2;
Declare @totalPage INT=3;

WITH PageList AS
(
SELECT ROW_NUMBER() OVER(ORDER BY ID) AS LineNo, m. * FROM Pages as m
)

SELECT *
FROM PageList
WHERE LineNo BETWEEN (@pageNo - 1) * @totalPage + 1
AND @pageNo * @totalPage

MSSQL 2012

Yukarıdaki ROW_NUMBER() performansımdan ve daha kolay kullanım sağlamak için yeni geliştirmeler bulunmaktadır.

SELECT * FROM Pages
ORDER BY ID ASC
OFFSET 200 ROWS
FETCH NEXT 220 ROWS ONLY

Osman KURT
Yazılım Uzmanı

Loading