用sql增加一列‘values’(得分),每个片区第一名的分公司为10分,其他的按照rate占各个片区最大值的比例*10为得分其他的是0.43/0.52*10=8.269 )

img

用个子查询。
select max(rate) rate,zone_name from table group by zone_name;
求出区域里最大的值。
然后把查询连在主表里。
直接求value就好了。

select *,a.rate/b.rate*10 as v from table a left join (select max(rate) rate,zone_name from
 table group by zone_name) b  on  a.zone_name = b.zone_name;