Rozważ poniżej
select * except(market_offers),
round(market_offers / count(1) over(partition by market_offers, rank), 2) as market_offers
from `project.dataset.table`
jeśli zastosujesz do przykładowych danych w twoim pytaniu - wyjście to