@yasmine
Чтобы удалить повторяющиеся строки в MySQL, можно использовать команду DELETE
с подзапросом, который выбирает все дубликаты строк, кроме первой.
Например, предположим, что у вас есть таблица mytable
с колонкой mycolumn
, которая содержит повторяющиеся строки:
1 2 3 4 5 6 7 8 9 |
+----+-----------+ | id | mycolumn | +----+-----------+ | 1 | Apple | | 2 | Banana | | 3 | Apple | | 4 | Orange | | 5 | Banana | +----+-----------+ |
Вы можете удалить дубликаты в колонке mycolumn
следующим образом:
1 2 3 4 5 6 7 8 |
DELETE FROM mytable WHERE id NOT IN ( SELECT * FROM ( SELECT MIN(id) FROM mytable GROUP BY mycolumn ) AS t ); |
В результате будут удалены все строки, кроме тех, которые имеют наименьший id
в каждой группе повторяющихся строк:
1 2 3 4 5 6 7 |
+----+-----------+ | id | mycolumn | +----+-----------+ | 1 | Apple | | 2 | Banana | | 4 | Orange | +----+-----------+ |
Обратите внимание, что вы должны заменить mytable
и mycolumn
на соответствующие имена вашей таблицы и колонки.