这应该可以,但是可能很慢:
CREATE temporary table seq ( id int, seq int);INSERT INTO seq ( id, seq ) SELECt id, (SELECT count(*) + 1 FROM test c WHERe c.id < test.id AND c.account = test.account) as seq FROM test;UPDATE test INNER join seq ON test.id = seq.id SET test.seq = seq.seq;
我称该表为“测试”;显然,需要正确设置。您必须使用临时表,因为MySQL不允许您使用要更新的同一表中的子选择。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)