下表有一批数据需要按相关字段来更新表:
fieldA fieldB
AAA 123A
AAA 123A
AAA 123A
AAA 123A
AAA 123A
BB 123A
BB 123A
CCC 123B以上共有8条记录,我想要按fieldA 和 fieldB都相同的,按3条为上限,更新fieldB列,上表按要求更新后为
fieldA fieldB
AAA 123A
AAA 123A
AAA 123A
AAA 123A.1
AAA 123A.1
BB 123A
BB 123A
CCC 123B即超过3条,fieldB循序加".1",如果相同的第7条即加".2"。想请教大家怎么做到呢? 谢谢大家了!
fieldA fieldB
AAA 123A
AAA 123A
AAA 123A
AAA 123A
AAA 123A
BB 123A
BB 123A
CCC 123B以上共有8条记录,我想要按fieldA 和 fieldB都相同的,按3条为上限,更新fieldB列,上表按要求更新后为
fieldA fieldB
AAA 123A
AAA 123A
AAA 123A
AAA 123A.1
AAA 123A.1
BB 123A
BB 123A
CCC 123B即超过3条,fieldB循序加".1",如果相同的第7条即加".2"。想请教大家怎么做到呢? 谢谢大家了!
INSERT t(A, B) VALUES
('AAA', '123A'),
('AAA', '123A'),
('AAA', '123A'),
('AAA', '123A'),
('AAA', '123A'),
('BB', '123A'),
('BB', '123A'),
('CCC', '123B');SELECT A, B, C FROM(
SELECT @i:= CASE WHEN @a=a AND @b=b THEN @i+1 ELSE 0 END, @a:=A, @b:=B,
IF(@i div 3, @i div 3, '') as C, A, B
FROM t, (SELECT @i=0, @a=null, @b=null) x
)XX;
如果没有,就只能查了
mysql 的 update set 中无法对变量赋值