Если вы хотите получить превышение за предыдущие 7 дней, вы можете использовать функции окна:
select t.*,
avg(elapsed_time) over (partition by job_name
order by run_date
range between interval -6 day preceding and current row
) as avg_time
from t;
Примечание: это предполагает, что вы действительно хотите шесть предыдущих дней плюс текущая дата. Если вы действительно хотите за 7 дней до 1 дня до (предыдущая неделя), используйте:
range between interval -7 day preceding and interval -1 day preceding
EDIT:
В более старых версиях MySQL вы можете использовать коррелированный подзапрос:
select t.*,
(select avg(t2.elapsed_time)
from t t2
where t2.job_name = t.job_name and
t2.run_date <= t.run_date and
t2.run_date > t.run_date - interval 7 day
) as avg_time
from t;
Скорректируйте сравнение дат, чтобы получить именно тот период, который вам нужен.