嘿,我有一个包含以下数据的阶梯排名:
忽略胜利、失败、等级。
问题是,在团队表上我有一个排名列,我在图像上的表上使用的排名只是一个 i 变量,它从 0 开始,当完成 while 循环时递增 1。 如何将排名栏更新为按积分排序的真实排名?
最佳答案
您可以通过更新
/加入
来完成此操作:
update rankings r join
(select r.id, @rn := @rn + 1 as ranking
from rankings r cross join
(select @rn := 0) vars
order by points desc
) rp
on r.id = rp.id
set r.ranking = rp.ranking;
子查询使用变量来计算排名。
关于php - 使用 ORDER BY DESC 排名,但更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24366077/