我想按某个列对表中的数据进行排序,并根据排序顺序为每一行分配一个序列号(位置指示符)。该表包含以下数据:
Id | result | position
---------------------------
1 |10| 1
2 |9 | 2
3 |2 | 3

然后我按如下方式更新表数据:
Id | result | position
---------------------------
1 |10| 1
2 |12 | 2
3 |2 | 3

更新结果后,我需要更新存储在“position”列中的序列号。
Id | result | position
---------------------------
1 |10| 2
2 |12 | 1
3 |2 | 3

是否可以(仅使用SQL)对数据进行排序,同时更新“位置”列?实际上我正在寻找一个只使用SQL来解决这个问题的答案。如果这不可能,我将使用PHP对数据进行排序和更新。但我认为这个解决方案不如仅使用SQL,因为它会给系统带来更多负担。