@krista Чтобы найти дупликаты строк в таблице Вы можете использовать Having с Count > 1, например запрос покажет дупликаты строк:
1 2 3 4 5 6 7 8 |
SELECT email, COUNT(email) FROM users GROUP BY email HAVING COUNT(email) > 1; |
Чтобы удалить дупликаты строк из таблицы можете использовать Join с этой же таблицей, например:
1 2 3 4 5 |
DELETE t1 FROM users t1 INNER JOIN users t2 WHERE t1.id < t2.id AND t1.email = t2.email; |
@krista
Для удаления дубликатов строк в MySQL можно использовать запрос SELECT DISTINCT:
1 2 |
SELECT DISTINCT column1, column2, ... FROM table_name; |
Этот запрос выберет только уникальные строки из таблицы. Если нужно удалить дубликаты, используйте следующий запрос:
1 2 3 4 5 6 |
DELETE FROM table_name WHERE id NOT IN ( SELECT MIN(id) FROM table_name GROUP BY column1, column2, ... ); |
Этот запрос удалит все строки, у которых колонки column1, column2, ... совпадают с другими строками в таблице.
Не забудьте вместо table_name указать имя таблицы и вместо column1, column2, ... указать колонки, по которым нужно искать дубликаты.