declare @wnPageIndex int --第几页
,@wiCount int --一共多少条
,@wiPageSize float --一共多少页
,@wiDisplayNumber float ; --每页显示个数
--=======================================================
--这里根据自己的需求修改
---------------------------------------------------------
set @wiDisplayNumber=10.00;
set @wnPageIndex=0;
--=======================================================
-- 处理默认页或首页
---------------------------------------------------------
if isnull(@wnPageIndex,0)=0
set @wnPageIndex=1;
--=======================================================
--给表加编号
---------------------------------------------------------
with Tb as
(
SELECT *
,row_number() over(order by [Emp_ID] Desc) as rowIndex --加编号
FROM [EmployeeInfo]
)
--=============================================================================================
--处理分页
-----------------------------------------------------------------------------------------------
select * from tb
where rowIndex between ((@wnPageIndex-1)*@wiDisplayNumber) and (@wnPageIndex*@wiDisplayNumber)
--=============================================================================================
--获取一共多少条数据
-----------------------------------------------------------------------------------------------
set @wiCount= (select count(*) from [EmployeeInfo])
--=============================================================================================
--处理一共多少页
-----------------------------------------------------------------------------------------------
set @wiPageSize=ceiling(@wiCount/@wiDisplayNumber);
--=============================================================================================
--返回一共多少条数据,一共多少页
-----------------------------------------------------------------------------------------------
select @wiCount as [rowCount], @wiPageSize as [pageSize]