我有一个数据库(邮件),里面有大约533,000条记录。我试图创建组,基本上,我可以用来选择记录区域。我想创建10组人。
因此,在' mailing'中,我有一个名为' group'的列。我想在每条记录中插入一个数字(从1到10)。一旦我达到10,我想从1开始重新循环序列。
更新列组'
后数据库的外观示例答案 0 :(得分:1)
既然你提到了InnoDB,我就是在这里假设MySQL。
所以我会说:
SET @grp:=-1;
UPDATE Table set `Group`=(@grp:=(@grp+1)%10) + 1;
那就是说,我不会采用这种方法,我只想回答具体问题
答案 1 :(得分:1)
评论太长了。
我不认为这是管理排除列表和联系策略的正确方法。相反,您应该保留一个列表(在表格中),列出在特定邮件中联系的人员。然后,对于下一封邮件,您可以选择未在上一封邮件中邮寄的人。
如果您确实需要将联系人分成十个相同大小的组,那么请考虑如何维护这些组:
在任何情况下,如果您采用这种方法,我建议您只是随机分配每个人:
update t
set grp = floor(rand() * 10);