Nie mogę tego przetestować, ale możesz spróbować czegoś takiego:
update table t
set mi_percentile = (
select count(*)
from table t1
where M1 < t.M1 / (
select count(*)
from table));
AKTUALIZACJA:
update test t
set m1_pc = (
(select count(*) from test t1 where t1.M1 < t.M1) * 100 /
( select count(*) from test));
Działa to w Oracle (jedyna baza danych, jaką mam dostępną). Pamiętam, że pojawił się ten błąd w MySQL. To bardzo irytujące.