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

208

    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. Oletko kertonut jo muille tunteistasi?

      Ystävillesi esimerkiksi? Minä en ole vielä kertonut kenellekään tästä meidän jutusta.
      Ikävä
      77
      4612
    2. Olisin ottanut sinusta akan itselleni

      Mutta olitkin aika itsepäinen ja hankala luonne.
      Ikävä
      180
      1877
    3. Ei sua pysty unohtamaan

      Ei vaan yksinkertaisesti pysty
      Ikävä
      124
      1580
    4. Kerro todelliset motiivit

      kaivattuasi kohtaan?
      Ikävä
      123
      1110
    5. Hei, huomenta komistus

      Yllättääkö, että olet heti mielessä. Mukavaa päivää upea ❤️
      Ikävä
      35
      1026
    6. Miten minusta tuntuu että kaikki tietää sun tunteista mua kohtaan

      Paitsi suoraan minä itse, vai mitä hlvettiä täällä tapahtuu ja miksi ihmiset susta kyselee minulta 🤔❤️
      Ikävä
      16
      1021
    7. Sunnuntain terveiset kaivatulle

      Mitä ajattelet hänestä tänään? Mitä haluaisit sanoa hänelle?
      Ikävä
      78
      923
    8. Miks et tahtonut

      Enää nähdä? Haluaisin ymmärtää
      Ikävä
      52
      876
    9. Hyvää huomenta!

      Mietin miten suhtaudut minuun, jos kerron tunteista. Voinko enää sen jälkeen olla samassa paikassa kanssasi, jos koet as
      Ikävä
      78
      862
    10. Mulla on tarkat korvat

      Kuulin sun äänen ihan selvästi.
      Ikävä
      4
      818
    Aihe