0

重複の可能性:
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

それらの1つを削除するだけでなく、両方を削除するクエリしか見つけることができませんでした(IDが最も高いものなど)。

何か案は?

4

2 に答える 2

1

重複行を削除するには、次の SQL を試してください。

delete from users where id not in (select min(id) from users group by user_email)
于 2012-09-11T21:12:46.660 に答える
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
                       );

私はこれがうまくいくと思います

于 2012-09-11T21:03:57.177 に答える