Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Usuwanie powtarzających się rekordów.
krzywy36
post
Post #1





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
ciekawskiii
post
Post #2





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


WHERE ip LIKE '%000.000.000.000%'
Go to the top of the page
+Quote Post
krzywy36
post
Post #3





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

Ostrzeżenie: (0%)
-----


ale chodzi o to, żeby usunąć wszystkie powtarzające się rekordy a nie tylko te o konkretnym ip.
Go to the top of the page
+Quote Post
markonix
post
Post #4





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


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ą.
Go to the top of the page
+Quote Post
potreb
post
Post #5





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


http://forum.php.pl/index.php?showtopic=115729
http://bymarszal.pl/blog/2009/05/09/usuwan...z-tabeli-mysql/
http://forum.php.pl/index.php?showtopic=160122

Ten post edytował potreb 28.04.2011, 19:26:38
Go to the top of the page
+Quote Post
krzywy36
post
Post #6





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
bastard13
post
Post #7





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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ć.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 04:23