180ですが、教えてもらった相関サブクエリによるselectのやり方で
20万レコード30分くらいかかってたのが2分くらいまで短縮できました。
助かりました。

select後、sqlに保存は依然としてfor文ですが、それも込みで2分です。
保存部分もまとめて、

update table t1 set (select avg(score) …

というやり方ができないかと思って試しましたが、うまくできませんでした。
たぶん、最初にコメントされた方はそこもわかった上で
「少なくともselect文は」と言われたのでしょう。

ウインドウ関数、コンポジットインデックスも教えてくださりありがとうございます。
また試してみます。