mysql语句之,根据条件排名且更改排名字段

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

效果为
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值