Выберите промежуточный итог, пока не будет достигнута конкретная сумма

Я пытаюсь выбрать первые n значений rowid из следующей табличной переменной, которая приблизит меня к сумме (itemcount) 200 000 без пересечения этого порога. Если бы я смотрел на это вручную, я бы просто взял верхние 3 ряда. Я не хочу использовать курсор, если не существует способа, основанного исключительно на множествах.

Что является хорошим способом на основе множеств, чтобы получить все значения rowid "сумма, пока / пока" я получаю промежуточный итог 200 000?

Я посмотрел на "промежуточные итоги" вhttp://www.1keydata.com/sql/sql-running-totals.html но, похоже, это не сработает, потому что в реальной таблице около 500 тыс. строк.

Вот что я пробовал до сих пор:

declare  @agestuff table ( rowid int primary key , itemcount int , itemage datetime )
insert into @agestuff values ( 1 , 175000 , '2013-01-24 17:21:40' )
insert into @agestuff values ( 2 , 300    , '2013-01-24 17:22:11' )
insert into @agestuff values ( 3 , 10000 , '2013-01-24 17:22:11' )
insert into @agestuff values ( 4 , 19000 , '2013-01-24 17:22:19' )
insert into @agestuff values ( 5 , 16000 , '2013-01-24 17:22:22' )
insert into @agestuff values ( 6 , 400   , '2013-01-24 17:23:06' )
insert into @agestuff values ( 7 , 25000 , '2013-01-24 17:23:06' )

select sum(itemcount) from @agestuff  -- 245700 which is too many

select sum(itemcount) from @agestuff  
  where rowid in (1,2,3) -- 185300 which gets me as close as possible

Использование SQL Server 2008. Я перейду на 2012 при необходимости.