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.
Todelliset tuplat tietokannasta
3
208
Vastaukset
- 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
Oletko kertonut jo muille tunteistasi?
Ystävillesi esimerkiksi? Minä en ole vielä kertonut kenellekään tästä meidän jutusta.774612- 1801877
- 1241580
- 1231110
- 351026
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 🤔❤️161021- 78923
- 52876
Hyvää huomenta!
Mietin miten suhtaudut minuun, jos kerron tunteista. Voinko enää sen jälkeen olla samassa paikassa kanssasi, jos koet as78862- 4818