以下を検討してください
select * except(market_offers),
round(market_offers / count(1) over(partition by market_offers, rank), 2) as market_offers
from `project.dataset.table`
質問のサンプルデータに適用した場合-出力は
以下を検討してください
select * except(market_offers),
round(market_offers / count(1) over(partition by market_offers, rank), 2) as market_offers
from `project.dataset.table`
質問のサンプルデータに適用した場合-出力は