比如有个表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
效果为