Icon

SQL – Jak usunąć zduplikowane rekordy?

maj 19, 2009 dodaj komentarz

Aby usunąć zduplikowane rekordy, np. wtedy gdy tworzymy nowy indeks dla tabeli, można do tego wykorzystać sposób, który jest bardzo szybki i nie skomplikowany:

  1. Utwórz nową, czystą tabelę z identyczną strukturą jak tabela, w której chcesz usunąć zduplikowane rekordy.
  2. Skopiuj wszystkie rekordy które się powtarzają do nowej tabeli wg. schematu:

    INSERT INTO tc_category1
    SELECT * FROM tc_category
    GROUP BY category_id, application_id
    HAVING count(*) > 1

  3. Następnie zrób to samo dla rekordów, które się nie powtarzają wg. schematu:

    INSERT INTO tc_category1
    SELECT * FROM tc_category
    GROUP BY category_id, application_id
    HAVING count(*) = 1
     

  4. Usuń starą tabelę i zmień nazwę nowej.