Getting total row count from OFFSET / FETCH NEXT

前端 未结 3 802
花落未央
花落未央 2020-12-02 05:40

So, I\'ve got a function that returns a number of records that I want to implement paging for on my website. It was suggested to me that I use the Offset/Fetch Next in SQL

3条回答
  •  不知归路
    2020-12-02 06:31

    Based on James Moberg's answer:

    This is an alternative using Row_Number(), if you don't have SQL server 2012 and you can't use OFFSET

    DECLARE 
        @PageNumEnd INT = 10, 
        @PageNum  INT = 1;
    
    WITH TempResult AS(
        SELECT ID, NAME
        FROM Tabla
    ), TempCount AS (
        SELECT COUNT(*) AS MaxRows FROM TempResult
    )
    
    select * 
    from
    (
        SELECT
         ROW_NUMBER() OVER ( ORDER BY PolizaId DESC) AS 'NumeroRenglon', 
         MaxRows, 
         ID,
         Name
        FROM TempResult, TempCount
    
    )resultados
    WHERE   NumeroRenglon >= @PageNum
        AND NumeroRenglon <= @PageNumEnd
    ORDER BY NumeroRenglon
    

提交回复
热议问题