2012-08-08 169 views
2

尽管进行了大量搜索,但我还没有找到正确的方法来列出在特定列中具有相同内容的行的所有列让我们说'名字'一栏)。列出MySQL表中具有重复条目的所有行

所以,如果我的表,被叫用户,有以下内容:

ID  User  Name 

1  Nick  Nick 
2  NickP  Nick 
3  NickC  Nick 
4  John  John 
5  Brian  Brian 

SELECT语句应返回:

ID  User  Name 

1  Nick  Nick 
2  NickP  Nick 
3  NickC  Nick 

由于这些都包含在列中的内容相同的行'名称'。我怎么写这个?

回答

7

这个怎么样?

SELECT * FROM Users WHERE Name IN(SELECT Name FROM Users GROUP BY Name HAVING COUNT(1) > 1) 
+0

谢谢,这很好用 – Nick 2012-08-08 22:59:57

+0

我有同样的问题,但在我的表中有超过90000条记录,所以这个查询需要大约8分钟执行。你能告诉一个有效的吗? – 2014-08-18 06:30:50

+0

为了提高效率,猜你需要使用PHP。我有3000条记录并搜索相同的斑点图像。查询没有成功,得到了一个时间。 – 2015-05-21 07:59:56