Voeg in SQL Server 2008 en later COUNT(*)
. toe OVER ()
als een van de kolomnamen in uw zoekopdracht en die wordt gevuld met het totale aantal geretourneerde rijen.
Het wordt in elke rij herhaald, maar de waarde is tenminste beschikbaar.
De reden waarom veel andere oplossingen niet werken, is dat u voor zeer grote resultaatsets het totaal pas weet nadat u alle rijen hebt herhaald, wat in veel gevallen niet praktisch is (vooral sequentiële verwerkingsoplossingen). Deze techniek geeft je het totale aantal na het aanroepen van de eerste IDataReader.Read()
, bijvoorbeeld.
select COUNT(*) OVER () as Total_Rows, ... from ...