Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Usuwanie powtarzających się rekordów.
krzywy36
post 28.04.2011, 18:14:57
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?


--------------------
pretty as a shit.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
ciekawskiii
post 28.04.2011, 18:44:30
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 28.04.2011, 19:16:54
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.


--------------------
pretty as a shit.
Go to the top of the page
+Quote Post
markonix
post 28.04.2011, 19:20:40
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 28.04.2011, 19:24:52
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 29.04.2011, 12:30:49
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?


--------------------
pretty as a shit.
Go to the top of the page
+Quote Post
bastard13
post 29.04.2011, 12:40:31
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 00:28