按段分组,然后在每个组内拆分为唯一的批-SQL挑战

按段分组,然后在每个组内拆分为唯一的批-SQL挑战,sql,Sql,我有一个重复的电子邮件地址表。这是联系人共享(重复)电子邮件地址的地方。此表有不同的段,我想将每个段的所有记录分组在一起,然后在每个段中将记录拆分为唯一的批,这样每个批中就不会有重复的电子邮件地址。因此,对于每个段,我需要一个查询,该查询需要生成足够的批,直到不再有重复的电子邮件地址 大约有20000条记录,我需要一种方法来生成一个输出,让我们将每个片段分成只有唯一电子邮件地址的批 您可以使用行编号(): 第一列是批号。具有相同批号的行保证有唯一的电子邮件。欢迎使用。一些样本数据会有所帮助 se

我有一个重复的电子邮件地址表。这是联系人共享(重复)电子邮件地址的地方。此表有不同的段,我想将每个段的所有记录分组在一起,然后在每个段中将记录拆分为唯一的批,这样每个批中就不会有重复的电子邮件地址。因此,对于每个段,我需要一个查询,该查询需要生成足够的批,直到不再有重复的电子邮件地址


大约有20000条记录,我需要一种方法来生成一个输出,让我们将每个片段分成只有唯一电子邮件地址的批

您可以使用
行编号()


第一列是批号。具有相同批号的行保证有唯一的电子邮件。

欢迎使用。一些样本数据会有所帮助
select row_number() over (partition by email order by email) as batchnum,
       t.*
from t;