WITH medians AS ( SELECT country, daily_vaccinations, PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY daily_vaccinations) OVER (PARTITION BY country) AS country_median FROM mytable ), filled_data AS ( SELECT country, COALESCE(daily_vaccinations, country_median) AS filled_daily_vaccinations FROM medians ) SELECT * FROM filled_data;