Методы удаления дубликатов в MySQL: примеры и код

Чтобы удалить дубликаты в MySQL, вы можете использовать различные методы. Вот несколько примеров кода:

  1. Использование ключевого слова DISTINCT:

    SELECT DISTINCT column_name FROM table_name;

    Этот запрос выбирает уникальные значения из указанного столбца в данной таблице.

  2. Использование предложения GROUP BY:

    SELECT column_name FROM table_name GROUP BY column_name;

    Этот запрос группирует строки на основе указанного столбца и возвращает только одну строку для каждой группы.

  3. Использование функции ROW_NUMBER():

    WITH cte AS (
    SELECT column_name, ROW_NUMBER() OVER (PARTITION BY column_name ORDER BY column_name) AS rn
    FROM table_name
    )
    DELETE FROM cte WHERE rn > 1;

    Этот запрос использует общее табличное выражение (CTE) и функцию ROW_NUMBER() для присвоения номера каждой повторяющейся строке, а затем удаляет строки с номером строки больше 1.

  4. Использование временной таблицы:

    CREATE TABLE temp_table AS SELECT DISTINCT * FROM table_name;
    TRUNCATE TABLE table_name;
    INSERT INTO table_name SELECT * FROM temp_table;
    DROP TABLE temp_table;

    Этот метод создает временную таблицу для хранения различных значений из исходной таблицы, усекает исходную таблицу, вставляет уникальные значения обратно в таблицу и, наконец, удаляет временную таблицу.