MySQL MariaDB

MySQL leiate tabelist duplikaatväärtused

MySQL leiate tabelist duplikaatväärtused
Üleliigseid andmeid saab andmebaasis hoida tabelis, mõjutades andmebaasi väljundit MySQL-is. Andmete replikatsioon toimub aga erinevatel eesmärkidel ja MySQL-i andmebaasiga tegelemisel on oluline ülesanne tabelis olevate duplikaatväärtuste tuvastamine. Laias laastus on arukas kasutada tabelis selgeid piiranguid, et salvestada teavet, mis välistab üleliigsed read. Mõnikord võiksite MySQL-i andmebaasis arvutada korduvate väärtuste arvu. Tegelesime selle teemaga selles küsimuses, milles saate teada, kuidas leida dubleerivaid väärtusi erinevatel viisidel ja kuidas loendada duplikaatväärtusi.

Alustamiseks peab teie arvutisse olema installitud MySQL koos selle utiliitidega: MySQL töölaud ja käsurea kliendi kest. Pärast seda peaksid teie andmebaasi tabelites olema mõned andmed või väärtused duplikaatidena. Uurime seda mõne näite abil. Kõigepealt avage oma käsurea kliendi kest töölaua tegumiribalt ja sisestage palumisel MySQL-i parool.

Oleme tabelis dubleeritud leidmiseks leidnud erinevaid meetodeid. Vaadake neid ükshaaval.

Duplikaatide otsimine ühest veerust

Esiteks peate teadma päringu süntaksit, mida kasutatakse ühe veeru duplikaatide kontrollimiseks ja loendamiseks.

>> VALI veerg COUNT (veerg) tabelist GRUPP VÕRRELE, KOLLE VEEL ON LOEND (veerg)> 1;

Siin on ülaltoodud päringu selgitus:

Oleme loonud oma MySQL-i andmebaasi „andmetesse” uue tabeli, mille nimi on „loomad” ja millel on duplikaatväärtused. Selles on kuus veergu, milles on erinevad väärtused, nt.g., ID, nimi, liik, sugu, vanus ja hind annavad teavet erinevate lemmikloomade kohta. Kui helistate sellele tabelile päringu SELECT abil, saame allpool oleva väljundi MySQL käsurea kliendi kestale.

>> SELECT * FROM andmetest.loomad;

Nüüd proovime ülaltoodud tabelist leida üleliigsed ja korduvad väärtused, kasutades SELECT päringu klausleid COUNT ja GROUP BY. See päring loeb tabelis vähem kui kolm korda asuvate lemmikloomade nimed. Pärast seda kuvab see need nimed allpool.

>> SELECT Name COUNT (Name) FROM andmetest.loomad RÜHM Nime järgi, kellel on arv (nimi) < 3;

Erinevate tulemuste saamiseks sama päringu kasutamine, muutes lemmikloomade nimede COUNT numbrit, nagu allpool näidatud.

>> SELECT Name COUNT (Name) FROM andmetest.loomad RÜHM NIMI JÄRGI (Nimi)> 3;

Tulemuste saamiseks 3 lemmiklooma nimede duplikaatväärtuse kohta, nagu allpool näidatud.

>> SELECT Name COUNT (Name) FROM andmetest.loomad RÜHM NIMI JÄRGI (Nimi) = 3;

Duplikaatide otsimine mitmest veerust

Päringu süntaks mitme veeru duplikaatide kontrollimiseks või loendamiseks on järgmine:

>> SELECT col1, COUNT (col1), col2, COUNT (col2) tabelist GROUP GROUP col1, col2 HAVING COUNT (col1)> 1 AND COUNT (col2)> 1;

Siin on ülaltoodud päringu selgitus:

Oleme kasutanud sama tabelit, mille nimi on „loomad” ja millel on korduvad väärtused. Saime allpool toodud väljundi, kasutades ülaltoodud päringut duplikaatväärtuste kontrollimiseks mitmes veerus. Oleme veergude Sugu ja Hind samaväärseid väärtusi kontrollinud ja loendanud, kui rühmitatud veeru Hind järgi. Selles näidatakse tabelis toodud lemmikloomade sugusid ja nende hindu duplikaatidena kuni 5.

>> VALI Sugu, COUNT (sugu), hind, COUNT (hind) andmetest.loomad RÜHM HINNA JÄRGI (hind) < 5 AND  COUNT(Gender) < 5;

Otsige duplikaate ühest tabelist, kasutades funktsiooni INNER JOIN

Siin on põhisüntaks duplikaatide leidmiseks ühest tabelist:

>> SELECT col1, col2, tabel.col tabelist INNER JOIN (VALI tabel GRUPP tabelist Col HAVING COUNT (col1)> 1) temp ON tabel.col = temp.kol;

Siin on üldise päringu narratiiv:

Meil on veerus OrderNo uus tabel 'order2' koos duplikaatväärtustega, nagu allpool näidatud.

>> SELECT * FROM andmetest.järjekord2;

Valime kolm veergu: üksus, müük, tellimus nr, mis kuvatakse väljundis. Kui veergu OrderNo kasutatakse duplikaatide kontrollimiseks. Sisemine liitumine valib väärtused või read, mille üksuste väärtused on tabelis rohkem kui üks. Täitmisel saame tulemused allpool.

>> VALI üksus, müük, tellimus2.Tellimus pole andmetest.order2 INNER JOIN (VALI TellimusNE FROM andmetest.tellimus2 RÜHM TELLIMISE JÄRGI Pole arv (toode)> 1) temp ON tellimus2.Tellimuse nr = temp.Tellimuse nr;

Duplikaatide otsimine mitmest tabelist, kasutades funktsiooni INNER JOIN

Siin on lihtsustatud süntaks duplikaatide leidmiseks mitmest tabelist:

>> VALI tabel 1 tabelist INNER JOIN tabel 2 sisse tabel1.col = tabel2.kol;

Siin on üldise päringu kirjeldus:

Meie andmebaasis on kaks tabelit 'order1' ja 'order2', kus mõlemas on veerg 'OrderNo', nagu allpool näidatud.

Kasutame INNER liitumist kahe tabeli duplikaatide ühendamiseks vastavalt määratud veerule. INNER JOIN-klausel saab kõik andmed mõlemast tabelist, ühendades need, ja ON-klausel seob mõlemast tabelist samad nimeveerud, e.g., Tellimuse nr.

>> SELECT * FROM andmetest.order1 INNER JOIN andmed.order2 ON order1.Tellimuse nr = tellimus2.TellimusNO;

Konkreetsete veergude väljundisse saamiseks proovige järgmist käsku:

>> VALI piirkond, olek, üksus, müük pärit andmetest.order1 INNER JOIN andmed.order2 ON order1.Tellimuse nr = tellimus2.TellimusNO;

Järeldus

Nüüd võiksime otsida mitu koopiat ühes või mitmes MySQL-i teabe tabelis ja tuvastada funktsioonid GROUP BY, COUNT ja INNER JOIN. Veenduge, et olete tabelid õigesti üles ehitanud ja ka õiged veerud valitud.

Kursor hüppab või liigub juhuslikult Windows 10-s kirjutamise ajal
Kui leiate, et hiire kursor hüppab või liigub Windowsi sülearvutisse või arvutisse kirjutades automaatselt, juhuslikult, võivad mõned neist soovituste...
Kuidas muuta hiire ja puuteplaatide kerimise suund Windows 10-s ümber
Hiir ja PuuteplaatNeed muudavad arvutamise mitte ainult lihtsaks, vaid ka tõhusamaks ja vähem aeganõudvaks. Me ei kujuta ette elu ilma nende seadmetet...
Kuidas muuta hiirekursori ja kursori suurust, värvi ja skeemi Windows 10-s
Windows 10 hiirekursor ja kursor on operatsioonisüsteemi väga olulised aspektid. Seda võib öelda ka teiste opsüsteemide kohta, nii et tegelikult pole ...