2012-08-08 171 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