为所有用户提供重复的电子邮件地址

Pat*_*ser 6 mysql sql

我正在编写MySQL查询,我可以从用户表中获取具有重复电子邮件地址的所有记录.

这是我到目前为止的查询..我的PHPMyAdmin继续加载:

select personal_email, userid
from user
where personal_email in (
select personal_email
from user
group by personal_email
having count(personal_email) > 1);
Run Code Online (Sandbox Code Playgroud)

如果我使用下面的查询,我只会收到所有双重电子邮件:

select personal_email, count(personal_email)
from user
group by personal_email
having count(personal_email) > 1
Run Code Online (Sandbox Code Playgroud)

目标是获取包含重复电子邮件的所有记录.

Gar*_*thD 5

尝试使用 JOIN 而不是 JOIN 查询IN

SELECT  user.personal_email, user.userid
FROM    user 
        INNER JOIN
        (   SELECT  personal_email
            FROM    User
            GROUP BY personal_email
            HAVING COUNT(*) > 1
        ) dupe
            ON dupe.personal_email = user.personal_email;
Run Code Online (Sandbox Code Playgroud)

MySQL 通常会更好地优化 INNER JOIN。