Php 在数据库中查找可能的重复项

Php 在数据库中查找可能的重复项,php,mysql,duplicates,Php,Mysql,Duplicates,我有一个存储多个列的数据库,我正在尝试创建高效的sql查询,该查询将根据选定的1列或更多列输出所有可能的重复项 所以,例如,如果我有一个数据库,它有名字和姓氏电话,我希望能够找到重复的名字和姓氏。我只想输出数据库中的数据两次以上,因此正确的输出如下: John, Smith, 123456789 John, Smith, 987654321 John, Smith, 098546786 Peter, Donut, 234569087 Peter, Donut, 854567896 我在寻找一些

我有一个存储多个列的数据库,我正在尝试创建高效的sql查询,该查询将根据选定的1列或更多列输出所有可能的重复项

所以,例如,如果我有一个数据库,它有名字和姓氏电话,我希望能够找到重复的名字和姓氏。我只想输出数据库中的数据两次以上,因此正确的输出如下:

John, Smith, 123456789
John, Smith, 987654321
John, Smith, 098546786
Peter, Donut, 234569087
Peter, Donut, 854567896
我在寻找一些东西,但我发现的唯一相似的东西是

SELECT * FROM table GROUP BY name,surname HAVING COUNT(*)>1

它只输出重复的一个实例,而不是所有实例。有什么建议可以让我不必从数据库中选择所有项目并通过PHP进行操作吗?

需要这样做吗

SELECT *
FROM table t1
INNER JOIN
(
    SELECT name, surname
    FROM table
    GROUP BY name,surname
    HAVING COUNT(*)>1) t2
ON t1.name = t2.name AND t1.surname = t2.surname

如果手机在两个副本之间可以是相同的,只需在连接上使用主键即可

SELECT DISTINCT t.name, t.surname, t.phone FROM table t 
LEFT OUTER JOIN table t2 ON t.name = t2.name AND t.surname = t2.surname AND t.phone <> t2.phone
WHERE t2.name IS NOT NULL

不确定T1.ID这个有效。感谢他们我犯了一个错误,或者没有。。。与我所做的查询相同:query=SELECT*fromt1,testt2,其中t1.number=t2.number和t1.test=t2.test和t1.idt2.id;谢谢
SELECT ID, Name, LastName, Phone

FROM mytable T1, mytable T2

      WHERE

        T1.name = T2.name AND     

        T1.Phone = Phone AND

        T1.LastName = T2.PLastName AND

        T1.ID < T1.ID -- only use this line to leave 1 as unique