高效删除除最早实例之外的重复行
问题:
您有一张表包含由用户提交引起的大量重复条目的数据。您的目标是根据subscriberEmail 字段消除这些重复行,只留下最早提交的记录。换句话说,您希望识别所有重复的电子邮件并删除其相应的行,同时保留原始提交的内容。
解决方案:
1.自联接方法:
您可以利用自联接来实现您的目标,而不是交换表:
<code class="sql">delete x from myTable x join myTable z on x.subscriberEmail = z.subscriberEmail where x.id > z.id</code>
在此查询中:
2.其他注意事项:
为了防止将来重复插入,请考虑在订阅者电子邮件列上创建 唯一索引。
好处:
这种方法可以有效地删除重复行,而无需创建临时表的开销。它利用现有的表结构,并根据 id 字段保留每行的唯一标识。
以上是如何有效删除除最早实例之外的重复行?的详细内容。更多信息请关注PHP中文网其他相关文章!