mysql分组排序并赋予序号

很久以前写的,有些不足

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;


你可能感兴趣的:(mysql分组排序并赋予序号)