Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Usuwanie powtarzających się rekordów.
Forum PHP.pl > Forum > Przedszkole
krzywy36
Jak usunąć z tabeli powtarzające się rekordy? Chodzi o to, że chcę usunąć wszystkich userów z powtarzającym się ip (jeśli 2 userów ma takie samo ip tp usuwamy obydwu). Da się to zrobić jednym zapytaniem?
ciekawskiii
WHERE ip LIKE '%000.000.000.000%'
krzywy36
ale chodzi o to, żeby usunąć wszystkie powtarzające się rekordy a nie tylko te o konkretnym ip.
markonix
GROUP BY `ip` i wszędzie gdzie większe lub równe 2 usuwamy.
Jednym zapytaniem pewnie się jakoś da ale jak nie chcesz kombinować to można pętelką.
krzywy36
we wszystkich podanych linkach jest sposób na usunięcie tylko duplikatów, ja potrzebuje usunąć duplikaty i oryginał, męczę się już z tym trochę, mógłby ktoś napisać jakieś przykładowe zapytanie?
bastard13
Jakoś tak:
  1. DELTE FROM tableName WHERE someColumn IN (SELECT someColumn , count(id) AS howManyIds FROM tableName GROUP BY someColumn HAVING howManyIds > 1)
,
gdzie someColumn to kolumna, którą chcesz sprawdzić.
Wydaje mi się, że można to zrobić lepiej, ale powinno zadziałać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.