Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> deduplikacja rekordów bez kopiowania tabeli
furious_knight
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 18.12.2011

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


Witam wszystkich,
Potrzebuję porady kogoś kto siedzi w SQL i ma pomysł jak rozwiązać mój problem....
Mam w pracy bazę danych która ma 2mln rekordów!! bazę wgrywałem kilka dni partiami z różnych źródeł i muszę przeprowadzić deduplikację przed oddaniem jej do szefa.
Baza składa się z około 35 kolumn i mogą zdarzyć się przypadki że rekordy mają taką samą nazwę, adres, nip, itd. różnią się tylko np. telefonem albo mailem. Jedynym co na pewno ich różni to numer id w bazie... jedynym (moim)zdaniem sposobem jest usunięcie rekordów które są identyczne w całości wykluczając pole ID czy zna ktoś przepis na takie zapytanie?? coś w stylu -- usuń rekord jeżeli rekord minus [pole id] istnieje w bazie.

ps. wykonanie kopii bazy i porównanie odpada bo zajęło by to co najmniej 2 dni!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
redeemer
post
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Jaką masz wersję MySQL? Na 5.1+ powinno działać:
  1. CREATE TABLE test (
  2. a INT,
  3. b INT,
  4. c INT
  5. ) TYPE=innodb;
  6.  
  7. INSERT INTO `test` VALUES (1,2,3), (1,2,4), (2,3,3), (2,4,4), (2,4,5);
  1. SELECT * FROM `test`;
Kod
a           b           c          
1           2           3          
1           2           4          
2           3           3          
2           4           4          
2           4           5
  1. ALTER IGNORE TABLE `test` ADD UNIQUE INDEX (a, b);
  1. SELECT * FROM `test`;
Kod
a           b           c
1           2           3          
2           3           3          
2           4           4
Go to the top of the page
+Quote Post

Posty w temacie


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: 10.10.2025 - 02:24