在成员表中,某些行的email
列具有相同的值。
login_id | email
---------|---------------------
john | john123@hotmail.com
peter | peter456@gmail.com
johnny | john123@hotmail.com
...
有些人使用不同的login_id,但是相同的电子邮件地址,没有对此列设置唯一的约束。现在我需要找到这些行,看看是否应该删除它们。
我应该使用什么SQL语句来查找这些行?(MySQL 5)
发布于 2009-11-24 06:38:58
此查询将为您提供电子邮件地址列表以及它们的使用次数,其中最常使用的地址在前面。
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
)
发布于 2009-11-24 06:36:11
select email from mytable group by email having count(*) >1
发布于 2009-11-24 06:36:35
以下是查找用于多个login_id
email
的查询
SELECT email
FROM table
GROUP BY email
HAVING count(*) > 1
您将需要第二个(嵌套的)查询来获取email
的login_id
列表。
https://stackoverflow.com/questions/1786533
复制相似问题