如何使用PHP在mysql表中查找重复项?

时间:2012-05-21 22:31:41

标签: php mysql

我有一张包含客户信息的表格。通常,PHP会在插入新行之前检查重复项。但是,我不得不手动转储很多旧行,现在它们都在我的表中,我需要检查重复项。

示例行:

身份证,姓名,电子邮件,电话,传真

我想做一个mysql查询,它将显示所有带有匹配电子邮件的ID。我可以稍后修改电话,传真等查询

我有一种感觉,我会使用DISTINCT,但我不太确定它是如何完成的。

1 个答案:

答案 0 :(得分:2)

GROUP BY email可以HAVING COUNT(*) > 1查找所有重复的电子邮件地址,然后将结果重复的电子邮件与您的表格一起抓取以获取ID:

SELECT id FROM my_table NATURAL JOIN (
  SELECT email FROM my_table GROUP BY email HAVING COUNT(*) > 1
) t