Kanta pitäisi käydä kokonaan läpi ja sieltä pitäisi poistaa tietyt toistot. Toistuva sana vaihtelee joten homma pitäisi jotenkin automatisoida. Kanta on mySql- ja excel-muodossa. Mikä olisi helpoin tapa?
Helpoin tapa putsata tietokanta?
Keke
5502
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 5
Vanhimmat
DELETE FROM taulu WHERE sarake LIKE "sana";
MySQL:ssä tuo LIKE-määritys on in-case-sensitive ja jokerimerkkinä on %. Eli esim. "%sana%" poistaa kaikki rivit, missä sarake-nimisessä sarakkeesta lukee jossakin kohdassa "sana". Kannattaa olla varovainen tuon DELETEN käytössä ja laittaa sen WHERE-ehdon varmasti niin ettei poista liikaa. Undo-toimintoa ei ole ellei tee varmuuskopiota ;)
Eli koska kyseinen arvo vaihtelee, usealla arvolla on kopioita itsestään ja tietueita on yli 12.000, pitäisi homma "automatisoida" jotenkin. Ei jaksaisi käsin tuota määrää...
Ok, eli kuulostaa siltä, että ongelmasi on sopivan ehtolauseen tekeminen, joka poistaisi vain halutut tiedot. Kuinka monta noita "useita arvoja" on? Mikäli ihan muutama, niin where-ehdossa voi aina käyttää OR-sanaa erottelemaan ehdot. esim. WHERE sarake LIKE "abc" OR sarake LIKE "def" OR jne..;
Jos erilaisia arvoja on kovin monta, esim kymmeniä tai satoja, niin menee hieman mutkikkaammaksi. Silloin sun täytyy löytää poistettavista arvoista jotakin yhtäläisyyttä, mikä kuitenkin erottaa ne säilytettävistä arvoista.
löytyyhän SQL:stä myös unique määritelmä.
Googlesta löytyy kaikki tarpeellinen. hausanoiksi vaan
mysql remove duplicate
http://www.mysqldeveloper.com/faqs/faqMaster/index.cgi?do=display&id=80