Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como incluir o número total de linhas retornadas no conjunto de resultados do comando SELECT T-SQL?


No SQL Server 2008 e posterior, adicione COUNT(*) OVER () como um dos nomes de coluna em sua consulta e que será preenchido com o total de linhas retornadas.

Ele é repetido em cada linha, mas pelo menos o valor está disponível.

A razão pela qual muitas outras soluções não funcionam é que, para conjuntos de resultados muito grandes, você não saberá o total até depois de iterar todas as linhas, o que não é prático em muitos casos (especialmente soluções de processamento sequencial). Essa técnica fornece a contagem total após chamar o primeiro IDataReader.Read() , por exemplo.
select COUNT(*) OVER () as Total_Rows, ... from ...