相关疑难解决方法(0)

使用ROW_NUMBER时从SQL Server返回总记录

我想返回数据库中的记录总数,以便我可以设置分页.在SQL Server 2008中使用以下分页方法时,如何返回数据库中的记录总数?

    ALTER PROCEDURE [dbo].[Nop_LoadAllOptimized]
    (
        @PageSize int = 20,
        @PageNumber int = 1,
        @WarehouseCombinationID int = 1,
        @CategoryId int = 58,
        @OrderBy int = 0,
        @TotalRecords int = null OUTPUT
    )
    AS
    BEGIN
    WITH Paging AS (
        SELECT rn = (ROW_NUMBER() OVER (
        ORDER BY 
            CASE WHEN @OrderBy = 0 AND @CategoryID IS NOT NULL AND @CategoryID > 0
            THEN pcm.DisplayOrder END ASC,
            CASE WHEN @OrderBy = 0
            THEN p.[Name] END ASC,
            CASE WHEN @OrderBy = 5
            THEN …
Run Code Online (Sandbox Code Playgroud)

sql-server paging sql-server-2008-r2

30
推荐指数
2
解决办法
3万
查看次数

标签 统计

paging ×1

sql-server ×1

sql-server-2008-r2 ×1