Простым решением будет подвыбор:
Select ...
, ( Select Count(*)
From Table
Where ...) As TotalCount
From Table
Where ...
Group By ...
Если вы используете SQL Server 2005 или более позднюю версию, вы можете сделать что-то вроде следующего:
With RankedItems As
(
Select Col1
, Row_Number() Over ( Order By Col1 Asc, Col2 Asc... ) As Num
, Row_Number() Over ( Order By Col1 Desc, Col2 Desc ) As RevNum
From Table
Where ...
)
Select Col1, Min(Num + RevNum - 1) As TotalCount
From RankedItems
Group By Col1