在[成员]表中,某些行的email列值相同。
email
login_id | email ---------|--------------------- john | john123@hotmail.com peter | peter456@gmail.com johnny | john123@hotmail.com ...
有些人使用了不同的login_id,但是使用了相同的电子邮件地址,因此在此列上未设置唯一约束。现在,我需要查找这些行,并查看是否应将其删除。
我应该使用什么SQL语句查找这些行?(MySQL 5)
此查询将为您提供电子邮件地址及其使用次数的列表,最常用的地址在前。
SELECT email, count(*) AS c FROM TABLE GROUP BY email HAVING c > 1 ORDER BY c DESC
如果要完整行:
select * from table where email in ( select email from table group by email having count(*) > 1 )