right hasta extraer ejemplos caracteres caracter sql-server pagination sql-server-2012

hasta - Mejor forma de obtener el recuento total junto con la paginación en SQL Server 2012



string en sql (1)

Si podemos cambiar el contrato, puede tener:

SELECT CSTNO, CSTABBR,COUNT(*) OVER () as TotalCount FROM DBATABC WHERE CSTABBR LIKE ''A%'' ORDER BY CSTNO OFFSET ( @OffSetRowNo-1 ) * @FetchRowNo ROWS FETCH NEXT @FetchRowNo ROWS ONLY

Y ahora el total estará disponible como una columna separada en el conjunto de resultados. Lamentablemente, no hay forma de asignar este valor a una variable en esta misma instrucción, por lo que ya no podemos proporcionarlo como un parámetro OUT .

Utiliza la cláusula OVER (disponible desde 2005) para permitir que un agregado se compute en todo el conjunto de resultados (ilimitado) y sin que se requiera GROUP ing.

Tengo el requisito de obtener el recuento total de registros junto con la paginación. Actualmente lo estoy haciendo como se detalla a continuación en SQL Server 2012. Esto necesita una consulta por separado para obtener el conteo. ¿Hay alguna forma mejorada en SQL Server 2012?

ALTER PROCEDURE dbo.tpGetPageRecords ( @OffSetRowNo INT, @FetchRowNo INT, @TotalCount INT OUT ) AS SELECT CSTNO, CSTABBR FROM DBATABC WHERE CSTABBR LIKE ''A%'' ORDER BY CSTNO OFFSET ( @OffSetRowNo-1 ) * @FetchRowNo ROWS FETCH NEXT @FetchRowNo ROWS ONLY SET @TotalCount = (SELECT COUNT(*) FROM DBATABC WHERE CSTABBR LIKE ''A%'') GO