很久以前写的,有些不足
drop procedure set_rank;
create procedure set_rank()
begin
set @i=1;
set @number=(select count(1) from suppliers_performance);
update suppliers_performance set score_rank=0;
while @i< @number
do
begin
update suppliers_performance set score_rank= @i where id in (select id from (select id from suppliers_performance where score_rank=0 order by score limit 1) b);
set @i=@i+1;
end;
end WHILE;
end;