如何在 MySQL 中查找重复条目 [重复]
Posted
技术标签:
【中文标题】如何在 MySQL 中查找重复条目 [重复]【英文标题】:How to findi duplicate entries in MySQL [duplicate] 【发布时间】:2015-11-01 19:11:42 【问题描述】:我正在尝试这段代码:
SELECT Email FROM
(SELECT Email, COUNT(Email) AS cnt
FROM Person
GROUP BY Email
HAVING cnt(*) >1 )
对于这个问题: 不知道我做错了什么?
这是我收到的错误:
Runtime Error Message: Line 6: SyntaxError: near '*) >1 )'
Last executed input: "headers": "Person": ["Id", "Email"], "rows": "Person": []
【问题讨论】:
据我所知,'cnt' 不是一个有效的函数。尝试“计数”。 【参考方案1】:SELECT Email
FROM Person
GROUP BY Email
HAVING COUNT(*) >1
SQL FIDDLE
【讨论】:
感谢您介绍 SQL Fiddle。但是当我尝试您的代码时,它无法通过测试SELECT Email, COUNT(Email) AS cnt FROM Person GROUP BY Email HAVING COUNT(*) >1
用你写的查询更新你的问题,我看不出这个查询有什么问题。【参考方案2】:
select p.email from person p
join (
SELECT Email, COUNT(Email) AS cnt
FROM Person
GROUP BY Email
HAVING count(email) > 1) s
on s.email = p.email
您不能在having
或where
子句中使用列的别名。
【讨论】:
exists 运算符如何为外部查询返回的每一行计算为 true :) ,即使您确实通过在 exists 运算符查询中添加 where 子句来进行相关查询,这也将是矫枉过正一个相当简单的问题。 感谢您的来信。我在这里运行了您的代码,但没有给我正在寻找的答案; sqlfiddle.com/#!9/56c6a/1 @vkp:这是我运行您的代码时遇到的错误:"headers": "Person": ["Id", "Email"], "rows": "Person": []
知道了@M.Ali..i 修改了它,因为 OP 只需要电子邮件列。
修改了查询@MonaJalal【参考方案3】:
select email
from person
group by email
having count(*)>1
您不需要嵌套查询来满足您的需求。
【讨论】:
以上是关于如何在 MySQL 中查找重复条目 [重复]的主要内容,如果未能解决你的问题,请参考以下文章