mysql语句如何实现在一张表中对a字段分组后,对于相同的a字段,再对b属性进行升顺修改?

举上图说明,我现在要实现的是对于相同的bill_id,对bill_details_idx的值进行修改,从0升顺,步长为1,如对于bill_id为10的bill_details_idx的值分别为0、1;对于bill_id为19的bill_details_idx的值分别为0、1、2。因数据量太大,原来用JAVA语句实现的耗时太长,希望的高手帮忙,完全用SQL语句去实现,我用的是MYSQL数据库。

如果每一行的id与bill_id不相同的话,可以

update t
set bill_details_idx = (
    select count(t1.r) 
    from (select id,bill_id,1 r from t) t1 
    where t.bill_id=t1.bill_id and t1.id<t.id
  )

温馨提示:答案为网友推荐,仅供参考
相似回答