有这张桌子:
ID SEQ C2 C3 C4 C5
359 1 287 1 2 1
360 1 287 1 1 1
361 2 287 1 2 1
362 2 287 1 1 1
363 4 287 1 2 1
368 4 287 1 2 1
369 5 287 1 1 1
370 7 287 1 2 1
371 4 287 1 1 1
372 6 287 1 2 1
并且只想将SEQ
列更新为此输出:
ID SEQ C2 C3 C4 C5
359 1 287 1 2 1
360 1 287 1 1 1
361 2 287 1 2 1
362 2 287 1 1 1
363 3 287 1 2 1
368 4 287 1 2 1
369 3 287 1 1 1
370 5 287 1 2 1
371 4 287 1 1 1
372 6 287 1 2 1
列c2,c3,c4,c5定义了一项服务。列SEQ定义了版本,ID = 361是ID 359中定义的新服务版本。
order by
列C2
,C3
,C4
,C5
,并按顺序删除差距(SEQ
列)。< / p>
由于
答案 0 :(得分:0)
完成!
SET @rownumber = 0;
更新表t set t.SEQ =(if(t.seq&lt; @ rownumber,@ rownumber:= 1,@ rownumber:= @ rownumber + 1)) 顺序为t.C2,t.C3,t.C4,t,C5,t.SEQ;