次のような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
したがって、rank 列を使用して、league_id でグループ化されたポイント数に基づいてランクを格納します。これは冗長に思えるかもしれませんが、私の目的のためには必要です (これはファンタジー スポーツの Web サイト用であり、ランク列を持つことで多くの PHP コードが大幅に簡素化され、スクリプト全体で必要なクエリの数が減ります)。
私は明白な解決策を知っています - 行を反復処理し、league_id でグループ化し、ランクを 1 つずつ更新します。私が疑問に思っているのは、より効率的な解決策はありますか?