Helpoin tapa putsata tietokanta?

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?
5502
Äänestä

Muut lukivat myös

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 ;)

Äänestä
  • 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ää...

    Äänestä

  • keke kirjoitti:

    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.

    Äänestä

  • keke kirjoitti:

    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ää...

    löytyyhän SQL:stä myös unique määritelmä.

    Googlesta löytyy kaikki tarpeellinen. hausanoiksi vaan

    mysql remove duplicate

    Äänestä


Kommentoi aloitusta


Keke kirjoitti:

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?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu