Tôi không thể kiểm tra điều này, nhưng bạn có thể thử một cái gì đó như:
update table t
set mi_percentile = (
select count(*)
from table t1
where M1 < t.M1 / (
select count(*)
from table));
CẬP NHẬT:
update test t
set m1_pc = (
(select count(*) from test t1 where t1.M1 < t.M1) * 100 /
( select count(*) from test));
Điều này hoạt động trong Oracle (cơ sở dữ liệu duy nhất tôi có sẵn). Tôi nhớ mình đã gặp lỗi đó trong MySQL. Nó rất khó chịu.