如何在 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

您不能在havingwhere 子句中使用列的别名。

【讨论】:

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 中查找重复条目 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

sql 在MySQL中查找重复条目

在数组中查找重复的条目

MySQL,如何合并表重复条目[重复]

如何查找重复项并保留以后的条目

MySQL连接和连接行而不重复条目[重复]

如何在 Spark Scala 中的 Schema RDD [从案例类中创建] 中查找重复项以及相应的重复计数?