常用分页方法

通过sql进行分页:

DECLARE @pagesize INT = 10;
DECLARE @pageindex INT = 3;

方法一:

SELECT * FROM (
SELECT ROW_NUMBER() OVER(ORDER BY id) AS rownum,* FROM dbo.Receiver ) temp WHERE temp.rownum BETWEEN
(@pagesize*(@pageindex-1)+1) AND (@pagesize * @pageindex)

方法二:

SELECT * FROM (
SELECT TOP (@pagesize * @pageindex) * FROM dbo.Receiver ORDER BY id ) temp
WHERE id NOT IN(SELECT TOP (@pagesize*(@pageindex-1)) ID FROM dbo.Receiver)

方法三:

SELECT * FROM dbo.Receiver ORDER BY id OFFSET ((@pageindex - 1) * @pagesize) ROWS FETCH NEXT @pagesize ROWS ONLY

 

通过C#进行分页:

var result = data.Skip(pager.PageSize * (pager.PageIndex - 1)).Take(pager.PageSize).ToList();

Skip:跳过前n个元素

Take:取出剩余元素的前n个元素

posted @ 2021-07-12 10:40  WoodLeaf  阅读(147)  评论(0)    收藏  举报