2012-09-11 30 views
0

可能重複:
Remove duplicate rows in MySQL查找重複的行,然後刪除其中一個

我有以下查詢,顯示重複行:

SELECT ID, user_login, wp_users.user_email FROM wp_users 
INNER JOIN (SELECT wp_users.user_email FROM wp_users 
GROUP BY wp_users.user_email HAVING count(ID) > 1) dup ON wp_users.user_email = dup.user_email 

我已經只能找到刪除它們的查詢,而不是刪除其中的一個(比如ID最高的那個)。

任何想法?

+0

敢肯定這是一個同時去除重複 – Motive

+0

@MotiveKyle檢查接受的答案。檢查之前不要確定。 – fancyPants

回答

0
DELETE FROM 
table_name A 
WHERE a.rowid > ANY (SELECT B.rowid 
         FROM table_name B 
         WHERE A.col1 = B.col1 AND 
           A.col2 = B.col2 
         ); 

我想這會工作

1

請試試這個SQL來刪除重複的行:

delete from users where id not in (select min(id) from users group by user_email) 
相關問題