Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Effiziente Zuweisung von Perzentil/Rang in MYSQL

Ich kann das nicht testen, aber du könntest so etwas versuchen:

update table t
set mi_percentile = (
    select count(*)
    from table t1
    where M1 < t.M1 / (
        select count(*)
        from table));

UPDATE:

update test t
set m1_pc = (
    (select count(*) from test t1 where t1.M1 < t.M1) * 100 /
    ( select count(*) from test));

Dies funktioniert in Oracle (die einzige Datenbank, die ich zur Verfügung habe). Ich erinnere mich, dass ich diesen Fehler in MySQL bekommen habe. Es ist sehr ärgerlich.