Вы не можете сделать это за один раз.То есть как назначить переменную, так и выбрать набор результатов.Это один из других.
Вы можете вернуть дополнительный столбец:
Select RowNumber,NewsId,InnerCount From
(
Select Row_Number() Over (ORDER BY FirstVisit) as 'RowNumber', NewsId
, COUNT(*) OVER () AS InnerCount
From
(
Select Distinct NewsId,FirstVisit,PublishDate From VwNewsPack
) as t
) as tt
Where NewsId between 10 and 20
Если этого недостаточно, то вам понадобится временная таблица для внутреннего выбора, иприсвойте @@ ROWCOUNT в качестве переменной