W SQL Server 2008 i nowszych dodaj COUNT(*)
OVER ()
jako jedną z nazw kolumn w zapytaniu, która zostanie wypełniona całkowitą zwróconą liczbą wierszy.
Jest powtarzany w każdym wierszu, ale przynajmniej wartość jest dostępna.
Powodem, dla którego wiele innych rozwiązań nie działa, jest to, że w przypadku bardzo dużych zestawów wyników nie będziesz znać sumy, dopóki nie wykonasz iteracji wszystkich wierszy, co w wielu przypadkach jest niepraktyczne (zwłaszcza rozwiązania przetwarzania sekwencyjnego). Ta technika daje całkowitą liczbę po wywołaniu pierwszego IDataReader.Read()
na przykład.
select COUNT(*) OVER () as Total_Rows, ... from ...