私が受け取った2つの答え(どれも完全ではなかったので、私は自分で書いた)に続いて、私が最終的にしたことは次のとおりです。
UPDATE Table AS target
INNER JOIN
(
select category, appearances_sum
from Table T inner join (
select category as cat, sum(appearances) as appearances_sum
from Table
group by cat
) as agg
where T.category = agg.cat
group by category
) as source
ON target.category = source.category
SET target.probability = target.appearances / source.appearances_sum
それは非常に迅速に動作します。相関サブクエリも試しましたが、はるかに低速(桁違い)だったため、結合に固執しています。