SQL存储过程分页

--pageNum 第几页
--pageSize 每页返回多少行
CREATE PROC GetShangpin (@PageNum INT,@PageSize INT)
AS
BEGIN
    DECLARE @StarNum     INT,     --开始行
            @EndNum      INT      --结束行
    SET @StarNum = (@PageNum-1)*@PageSize+1
    SET @EndNum = @PageNum*@PageSize


    SELECT * FROM (
    SELECT s.SPDM, s.SPMC,s.PIC,s.SJ1,ISNULL(s.BYZD20,0)BYZD20,s.BYZD17,COUNT(o.SL)YDSL,ROW_NUMBER() OVER(Order by s.SPDM ) AS RowId
      FROM SHANGPIN AS s WITH(NOLOCK)
      LEFT JOIN Orders AS o WITH (NOLOCK) ON o.SPDM = s.SPDM
    WHERE s.BYZD17='1' 
    GROUP BY s.SPDM, s.SPMC,s.PIC,s.SJ1,s.BYZD20,s.BYZD17
    )AS T WHERE RowId BETWEEN @StarNum AND @EndNum
END
posted @ 2017-12-08 11:25  liessay  阅读(226)  评论(0编辑  收藏  举报