Jag kan inte testa detta, men du kan prova något i stil med:
update table t
set mi_percentile = (
select count(*)
from table t1
where M1 < t.M1 / (
select count(*)
from table));
UPPDATERING:
update test t
set m1_pc = (
(select count(*) from test t1 where t1.M1 < t.M1) * 100 /
( select count(*) from test));
Detta fungerar i Oracle (den enda databasen jag har tillgänglig). Jag minns att jag fick det felet i MySQL. Det är väldigt irriterande.