我真的为此苦苦挣扎了一段时间。我有一个 MySQL 数据库和大量数据。这是我必须为大学创建的公式 1 网站。
现在 j_tracks_rounds_results 表已填满数据,但有一列未填写。这是排名列。
我创建了一个存储过程,如下所示:
DROP PROCEDURE `sp_rank`//
delimiter @@
PROCEDURE `sp_rank`(sid INT)
begin
set @i = 0;
SELECT `performance`, subround_id, @i:=@i+1 as rank
FROM `j_tracks_rounds_results`
where subround_id = sid
order by `subround_id`,`performance`;
end
delimiter ;
输出如下:
rec.ID PERFORMANCE SUBROUND_ID RANK
87766 100,349114516829 1 1
93040 101,075635087628 1 2
88851 101,664302543497 1 3
它获得结果并为其广告排名,按性能排序,因此最低性能获得 rank1 等...
我想要实现的是将排名放回表中。就像列“rank”的 ALTER 命令一样。
我怎么能做到这一点?