WITH medians AS ( SELECT country, date_id, vaccines, 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, date_id, vaccines, COALESCE(daily_vaccinations, country_median) AS daily_vaccinations FROM medians ) SELECT country, date_id, vaccines, ISNULL(daily_vaccinations, 0) AS filled_vaccinations FROM filled_data;