怎么写sqlserver2005分页、sqlserver2005分页实例、分页sql

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]

原文地址:https://www.cnblogs.com/ok519/p/1581830.html