我有一个这样的 MySQL 表:
id | points | rank | league_id
______________________________
1 | 84 | 0 | 1
2 | 55 | 0 | 1
3 | 104 | 0 | 1
4 | 123 | 0 | 2
我想要完成的是以下内容:
id | points | rank | league_id
______________________________
1 | 84 | 2 | 1
2 | 55 | 3 | 1
3 | 104 | 1 | 1
4 | 123 | 1 | 2
所以 - 使用排名列来存储基于点数的排名,按league_id 分组。这可能看起来是多余的,但我需要它来实现我的目的(它用于一个梦幻体育网站,并且有一个排名列大大简化了许多 PHP 代码并减少了整个脚本所需的查询数量)。
我知道显而易见的解决方案 - 遍历行,按league_id 分组并一一更新排名。我想知道的是,有没有更有效的解决方案?