Todelliset tuplat tietokannasta

Anonyymi-ap

Edellisestä tuli mieleen: Entä jos haetaan tuplariviä, jossa useampi kuin yksi sarake tulee olla sama. Kaikki vinkit olettavat, että haetaan tuplaa vain yhden sarakkeen perusteella.
Esimerkiksi etsitään rivit, joissa sarakkeet etunimi, sukunimi, katuosoite ja postinumero ovat samat? Vasta silloin voidaan päätellä että on tupla.

3

350

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Joissakin tapauksissa kannattaa siihen tauluun luoda virtuaalinen sarake joka ketjuttaa olemassa olevien sarakkeinen tiedot yhteen (etunimi sukunimi osoite). Sen jälkeen on helppoa poimia mahdolliset duplikaatit vertaamalla vain sitä virtuaalisarakkeessa olevaa tietoa,

      • Anonyymi

        Tuo on ainoa tehokas tapa toteuttaa useamman sarakkeen duplikaattien etsintää.

        Toinen - huomattavasti vähemmän tehokas - tapa on käydä läpi jokainen yksittäinen rivi, ja katsoa montako riviä taulussa on kun suodatetaan sen rivin tiedoilla. Jos rivejä on useampi, kyseessä on duplikaatti.

        Esimerkiksi siis jos taulu on
        Nimi Fiilis
        Matti Jee
        Motti Joo
        Metti Juu
        Motti Joo

        niin katsotaan ensimmäinen rivi (Matti Jee) ja suodatetaan tauluun ne rivit, joilla nimi on 'Matti' ja fiilis on 'Jee'. Rivien määrä on yksi, joten duplikaatteja ei ole.
        sitten katsotaan toinen rivi (Motti Joo) ja suodatetaan tauluun ne rivit, joilla nimi on 'Motti' ja fiilis on 'Joo'. Rivien määrä on kaksi, joten taulussa on duplikaatti.
        Ja niin edelleen.

        Paljon kätevämpää (lähes aina) on luoda uusi sarake, johon vain yksinkertaisesti ketjutetaan kaikki (olennaiset) sarakkeet ja katsotaan onko siinä duplikaatteja.


    • Anonyymi

      Ei mitään taulujumppaa!!!

      $sql = "SELECT etunimi, sukunimi, osoite, postinumero, COUNT(*) FROM datataulu WHERE (ehdot???) GROUP BY etunimi, sukunimi, osoite, postinumero HAVING COUNT(*) >1";
      $result = $mysqli->query($sql);
      if ($result->num_rows > 0) {
      while($row = $result->fetch_assoc()) {
      echo $row["etunimi"]. ", ". $row["sukunimi"];
      }
      }

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Vesikin maksaa, miksei hengitysilma?

      Jatkuvasti itketään ettei ole rahaa mihinkään, mutta tilastojen mukaan rahaa on enemmän kuin koskaan, joten miksei asial
      Maailman menoa
      16
      1741
    2. Satuolennoista tarinointi ei kuulu peruskoulun tehtäviin

      Opetustunteja on muutenkin käytössä vain rajallinen määrä. Eli nämä satuhommat koulun ulkopuolelle vapaaehtoisiin harras
      Maailman menoa
      140
      1712
    3. Suomalainen perheenisä vaatii Suvivirren esittämisestä hyvityksiä

      Itse lapsena uskonnonopetuksesta vissiin traumoja saanut ihka suomalainen (!) perheenisä vaatii Espoon kaupungilta korva
      Maailman menoa
      307
      1361
    4. Lahkokasteen ja kristillisen kasteen erot

      Raamatun mukaan Kristillisessä yhdessä kasteessa Jumala pesee ja puhdistaa ihmisen sydämen ja poistaa perisynnin kirouks
      Kaste
      422
      1098
    5. Mies profiloin sinut

      Etsit täysin hallittavaa mutta samalla poikkeuksellista ihmistä. Etsit jotain mitä et koskaan tule saamaan.
      Ikävä
      209
      1092
    6. Mitä haluaisit

      Tehdä kaivattusi kanssa?
      Ikävä
      132
      998
    7. Salainen kastekoulutus

      Millainen on helluntailainen kastekoulutus ja kauanko se kestää ?
      Kaste
      285
      965
    8. Heikki Paasosen Marita-vaimo jätti tunteikkaat jäähyväiset: "Tällä kertaa me..."

      Heikki Paasonen on naimisissa Marita Paasosen (os. Alatalo) kanssa ja heillä on kaksi pientä lasta. Nyt koitti aika jätt
      Suomalaiset julkkikset
      3
      935
    9. Känsäkoura ja hotelli

      Tietoa kuka ostanut?
      Kuhmo
      10
      915
    10. Pirkanlinna yleisötapahtuma

      Oli todella hyvä tilaisuus. Ja EERO. L. Aivan mahtava tyyppi. Veti rennosti ja asiallisesti. Ja yleisöltä hyviä kysymyks
      Ähtäri
      49
      898
    Aihe