You didn't give us much detail about your tables, but something like:
select driver_name,
lap_number,
dense_rank() over (partition by lap_number order by lap_time) as rank_in_lap,
dense_rank() over (order by lap_time) as overall_rank
from lap_times
order by driver_name, lap_number;
More details about window functions are in the manual: