Для первого:
UPDATE
harvard_assignees
SET
country_out = (CASE
WHEN (state is NOT NULL AND country is NULL) THEN 'US'
ELSE country
END);
Сначала у него было условие "id = ...", но я удалил его, потому что я считаю, что вы действительно хотите обновить все записи.
А для второго:
UPDATE
example_table
SET
percent = (SELECT 1/cnt FROM (SELECT count(*) AS cnt FROM example_table AS x WHERE x.fn_key_1 = example_table.fn_key_1 AND x.fn_key_2 = example_table.fn_key_2) AS tmp WHERE cnt > 0)
Хотя это будет несколько медленным.
Я думаю о решении, основанном на оконных функциях, вы можете также изучить их.