结果图:
INDEX_COL之前是空值。
现在有一个需求,根据staraircraft_id进行分组。
同一个staraircraft_id下,对INDEX_COL从0开始排序赋值。
首先,需要进行排序。
select
id,
staraircraft_id,
i
from
(select
staraircraft_id,
id,
@i:=if(@gen=staraircraft_id,@i+1,0) i,
@gen:=staraircraft_id
from gacs_staraircraftpic,(select @i:=-1,@gen:=null) temp
order by id, staraircraft_id asc) b
这样就可以分组排序
再直接进行赋值即可。
成功代码:
UPDATE gacs_staraircraftpic a,
(
select
id,
staraircraft_id,
i
from
(select
staraircraft_id,
id,
@i:=if(@gen=staraircraft_id,@i+1,0) i,
@gen:=staraircraft_id
from gacs_staraircraftpic,(select @i:=-1,@gen:=null) temp
order by id, staraircraft_id asc
) b
) c
SET a.index_col = c.i WHERE a.id = c.id