Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]Kasowanie duplikatów, z tabeli zawierającej tylko a_id i b_id
Enikc
post 12.06.2015, 08:29:33
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 8.01.2015

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


Czesc, mam tabele ktora zawiera
a_id b_id
1 2
1 2
2 3
4 5
6 10
6 10
Nie wiem jak usunac z niej
1 2
6 10

szukalem ale rozwiazania ktore znalazlme opieraja sie na wiekszych tablach.
Go to the top of the page
+Quote Post
Mega_88
post 12.06.2015, 08:35:42
Post #2





Grupa: Zarejestrowani
Postów: 360
Pomógł: 34
Dołączył: 20.08.2011

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


// powtarzajace rekordy
  1. SELECT COUNT(id), email
  2. FROM klient_email
  3. GROUP BY email
  4. HAVING COUNT(id)>1;


// usuwanie duplikatow
  1. DELETE FROM nazwa_tabeli
  2. USING nazwa_tabeli, nazwa_tabeli AS virtualna_nazwa_tabeli
  3. WHERE (nazwa_tabeli.id > virtualna_nazwa_tabeli.id)
  4. AND (nazwa_tabeli.pole = virtualna_nazwa_tabeli.pole)


Pokombinuj sobie z tym.
Go to the top of the page
+Quote Post
Pyton_000
post 12.06.2015, 08:40:14
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Zrób kopię tabeli i

  1. ALTER IGNORE TABLE `tabelka` ADD PRIMARY KEY (a_id, p_id)


lub

  1. ALTER IGNORE TABLE tabelka ADD UNIQUE INDEX idx_name (a_id, b_id);
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: 26.04.2025 - 00:54