场景:原表A,含有id、groupid等字段,现在需要维护数据,添加字段col 。现在要以groupid分组,每一组记录数不定,但是想把col字段在每一组中都自增处理。请问博友们如何实现?在下谢谢啦
关键我想知道大家具体怎么实现的- -
在mysql中测试可行,看看是否可以改成sqlserver的?
CREATE TEMPORARY TABLE tmp_A AS SELECT `id`,`groupid` FROM `A`; UPDATE `A` SET `col`=(SELECT COUNT(`groupid`) FROM tmp_A WHERE `groupid`=`A`.`groupid` AND `id`<=`A`.`id`) ORDER BY `id`;
厉害!简洁明了。
多表联合更新
看在100分的份上。
方法肯定有很多,我知道的2个:
1.使用update命令,建个临时表。然后使用多表联合更新。具体命令查百度。
2.使用merge into命令,使用更新部分不用插入部分。
写个复杂一点的存储过程,用游标。
或者写段代码完成就行了。
写个存储过程或者事务就可以了
用sql实现,哈哈哈
用存储过程好实现
你这个我不清楚了,我的思路是在程序里面实现,首先查询到该groupid下最大的col,为空是将groupid第一条数据的col赋值为1,其他的一次加1
在程序中实现是可以的。