MySql-修改语句1-分组修改数据设置自增编号

表结构:t_user

英文名中文字段名
id主键id
name姓名
groupCode小组编号
sort组内序号

数据

idnamegroupCodesort
1张三111
2张三212
3张三313
4张三42
5张三52
6张三62
7张三73
8张三83
9张三93
10张三103
11张三113

需求

现需给表中的sort字段设置根据小组编号分组自增的数据。小组编号不同,则编号重新从1开始。

语句

update t_user r set sort = ( select i from (
SELECT
      (
          @i := CASE
          WHEN @GroupCode = t1.groupCode THEN
             @i + 1
          ELSE
              1
          END
      ) AS i,
     (@GroupCode := t1.groupCode),
     t1.groupCode,t1.id
 FROM
     t_user t1
 ORDER BY
     t1.name asc
) a where r.groupCode = a.groupCodeand r.id = a.id)
where r.groupCode is null 

执行结果

idnamegroupCodesort
1张三111
2张三212
3张三313
4张三421
5张三522
6张三623
7张三731
8张三832
9张三933
10张三1034
11张三1135
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值