Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come includere il numero totale di righe restituite nel set di risultati dal comando SELECT T-SQL?

In SQL Server 2008 e versioni successive, aggiungi COUNT(*) OVER () come uno dei nomi di colonna nella tua query e verrà popolato con il totale delle righe restituite.

Si ripete in ogni singola riga ma almeno il valore è disponibile.

Il motivo per cui molte altre soluzioni non funzionano è che, per set di risultati molto grandi, non conoscerete il totale fino a dopo aver ripetuto tutte le righe, il che non è pratico in molti casi (soprattutto soluzioni di elaborazione sequenziale). Questa tecnica ti dà il conteggio totale dopo aver chiamato il primo IDataReader.Read() , per esempio.

select COUNT(*) OVER () as Total_Rows, ... from ...