比如有个表user

现在想要的结果是,flower字段倒序排行,然后将排行的结果赋值给 flowerRank字段
用了一种内联的方式去实现
update 表1 a1 inner join
(select 字段1,字段2 from 表1 where 条件) a2
on 条件 set a1.字段1 = a2.字段2
具体的代码是:
update a a1 inner join (SELECT uid, flower, fight,
@curRank := @curRank + 1 AS rank FROM a p,
(SELECT @curRank := 0) q
ORDER BY flower desc, fight desc) a2
on a1.uid=a2.uid
set a1.flowerRank=a2.rank
效果为

这篇博客介绍了如何使用SQL更新语句,结合变量和子查询,实现表中flower字段的倒序排行,并将排名结果保存到新的flowerRank字段中。通过设置条件并进行内联查询,确保了数据的正确更新。
2706

被折叠的 条评论
为什么被折叠?



