Можете да направите това с функциите на прозореца.
select player_id, runs, count(*) as numruns
from (select p.*,
(row_number() over (partition by player_id order by match_date) -
row_number() over (partition by player_id, runs order by match_date)
) as grp
from players p
) pg
group by grp, player_id, runs
order by numruns desc
limit 1;
Ключовото наблюдение е, че "изпълненията в последователност" имат това свойство:ако изброите редовете (за всеки играч) по дата и изброите редовете за всеки играч и по изпълненията по дата, тогава разликата е постоянна, когато изпълненията всички са еднакви и подредени. Това формира група, която можете да използвате за събиране, за да идентифицирате играча, който искате.
Тук е SQL Fiddle.