Potrzebowałem ostatnio usunąć zduplikowane wpisy z tabeli która zawierała w sobie jedynie 2 kolumny ‘id’ i ‘słowo’ .
Na początku chciałem przelecieć po wszystkich rekordach sprawdzając w dla których rekordów COUNT(słowo) wynosi więcej niż 1 a następnie wrzucić id’ki tych słów do tablicy a potem iterować po tablicy robiąc DELETE na te id. Jednak chcąc wykonywać jak najmniej operacji wymyśliłem coś innego. Podaję zapytanie:
|
1 |
SELECT p1.id FROM tabela AS p1, tabela AS p2 WHERE p1.slowo = p2.slowo AND p1.id != p2.id |
Zwraca to od razu id’ki powtarzających sie słów.
