Not directly related to article - but - an alternative to spt_values:
create table #Number (number int);
with N4000 as (select 0 as Number union all select Number+1 from N4000 where Number <4000
)insert into #number select * from N4000 option (MAXRECURSION 4000);
create index ix_N on #Number (Number);
with cteTally
as
(
select Number from #Number where number >0 and number <=(Select max(age) from #RunnersBig)
)
select *
from cteTally
cross apply
(
select top 2 * from #RunnersBig where age=number order by time
) as Winners