MySQL MariaDB

MySQL Etsi päällekkäiset arvot taulukosta

MySQL Etsi päällekkäiset arvot taulukosta
Tietokantaohjelma voi pitää taulukossa tarpeettomia tietoja, mikä vaikuttaa tietokannan tulokseen MySQL: ssä. Tietojen replikointi tapahtuu kuitenkin eri tarkoituksiin, ja taulukon kaksoisarvojen tunnistaminen on tärkeä tehtävä, kun käsitellään MySQL-tietokantaa. Laajasti ottaen on järkevää käyttää selkeitä rajoituksia taulukossa usein sellaisten tietojen tallentamiseen, jotka estävät turhia rivejä. Joskus MySQL-tietokannassa saatat haluta laskea toistettujen arvojen lukumäärän. Käsittelimme tätä kysymystä tässä aiheessa, jossa opit, kuinka päällekkäiset arvot voidaan etsiä eri tavoin ja kuinka laskea päällekkäiset arvot.

Aloittamiseksi sinun on oltava asennettuna MySQL järjestelmään ja sen apuohjelmat: MySQL-työpöytä ja komentorivin asiakaskuori. Sen jälkeen tietokantataulukoissa on oltava joitain tietoja tai arvoja kaksoiskappaleina. Tutkitaan tätä joitain esimerkkejä. Ensinnäkin, avaa komentorivin asiakaskuori työpöydän tehtäväpalkista ja kirjoita MySQL-salasanasi pyydettäessä.

Olemme löytäneet erilaisia ​​tapoja löytää kopiot taulukosta. Katsokaa niitä yksi kerrallaan.

Etsi kopioita yhdestä sarakkeesta

Ensinnäkin sinun on tiedettävä kyselyn syntaksista, jota käytetään yhden sarakkeen kaksoiskappaleiden tarkistamiseen ja laskemiseen.

>> VALITSE sarakkeiden MÄÄRÄ (col) FROM taulukon RYHMÄSTÄ sarakkeella ON LASKEMINEN (col)> 1;

Tässä on selitys yllä olevalle kyselylle:

Olemme luoneet uuden taulukon nimeltä 'animals' MySQL-tietokantaamme 'data', jolla on päällekkäiset arvot. Siinä on kuusi saraketta, joissa on eri arvot, esim.g., id, nimi, laji, sukupuoli, ikä ja hinta antavat tietoja eri lemmikkeistä. Kun soitamme tähän taulukkoon SELECT-kyselyn avulla, saamme alla olevan tuloksen MySQL-komentoriviasiakassovellukseen.

>> VALITSE * FROM-tiedoista.eläimet;

Yritämme nyt löytää ylimääräiset ja toistetut arvot yllä olevasta taulukosta käyttämällä SELECT- ja GROUP BY -lausekkeita SELECT-kyselyssä. Tämä kysely laskee alle 3 kertaa taulukossa olevien lemmikkien nimet. Sen jälkeen se näyttää nämä nimet alla.

>> SELECT Name COUNT (Nimi) FROM-tiedoista.eläimet RYHMÄ NIMEN MÄÄRÄ (Nimi) < 3;

Käyttämällä samaa kyselyä saadaksesi erilaisia ​​tuloksia muuttamalla lemmikkien nimien COUNT-numeroa alla esitetyllä tavalla.

>> SELECT Name COUNT (Nimi) FROM-tiedoista.eläimet RYHMÄ NIMEN LUKEMINEN (Nimi)> 3;

Tulosten saamiseksi yhteensä kolmelle päällekkäiselle arvolle lemmikkien nimille, kuten alla on esitetty.

>> SELECT Name COUNT (Nimi) FROM-tiedoista.eläimet RYHMÄ NIMEN LUKEMINEN (Nimi) = 3;

Hae kopioita useista sarakkeista

Useiden sarakkeiden kaksoiskappaleiden tarkistamisen tai laskemisen kyselyn syntaksit ovat seuraavat:

>> SELECT col1, COUNT (col1), col2, COUNT (col2) taulukosta RYHMÄ MUKAAN col1, col2 HAVING COUNT (col1)> 1 JA COUNT (col2)> 1;

Tässä on selitys yllä olevalle kyselylle:

Olemme käyttäneet samaa taulukkoa, jonka nimi on 'eläimet' ja joilla on päällekkäiset arvot. Saimme alla olevan tuotoksen, kun käytimme yllä olevaa kyselyä päällekkäisten arvojen tarkistamiseen useissa sarakkeissa. Olemme tarkistaneet ja laskeneet kaksoisarvot sarakkeille Sukupuoli ja Hinta samalla ryhmiteltyinä sarakkeen Hinta kanssa. Se näyttää taulukossa olevat lemmikkien sukupuolet ja niiden hinnat kahtena kappaleena.

>> SELECT Gender, COUNT (Gender), Price, COUNT (Price) FROM data.eläimet RYHMÄ HINTA LASKENNA (Hinta) < 5 AND  COUNT(Gender) < 5;

Hae kopioita yhdestä taulukosta INNER JOIN -toiminnon avulla

Tässä on perussyntaksi kopioiden löytämiseksi yhdestä taulukosta:

>> SELECT col1, col2, taulukko.sarake taulukosta SISÄISEN LIITTYMINEN (VALITSE sarake taulukon RYHMÄSTÄ sarakkeella, JOSSA LASKE (col1)> 1) temp ON taulukko.col = lämpötila.col;

Tässä on yleiskyselyn kertomus:

Meillä on uusi taulukko 'order2' ja kaksoisarvot sarakkeessa OrderNo alla olevan kuvan mukaisesti.

>> VALITSE * FROM-tiedoista.järjestys2;

Valitsemme kolme saraketta: Tuote, Myynti, Tilausnumero näytetään tulosteessa. Saraketta OrderNo käytetään kaksoiskappaleiden tarkistamiseen. Sisäinen liitos valitsee arvot tai rivit, joiden kohteiden arvot ovat enemmän kuin yksi taulukossa. Suorituksen yhteydessä saamme tulokset alla.

>> VALITSE Tuote, myynti, tilaus2.Tilaus Ei dataa.order2 INNER JOIN (VALITSE TilausNRO FROM-tiedoista.tilaus2 RYHMÄ TILAUKSEN JÄLKEEN EI LASKEITA (Tuote)> 1) Lämpötila PÄÄLLÄ tilaus2.Tilausnumero = lämpötila.Tilausnumero;

Hae kopioita useista taulukoista INNER JOIN -toiminnon avulla

Tässä on yksinkertaistettu syntaksin kaksoiskappaleiden etsimiseen useista taulukoista:

>> VALITSE sarake taulukosta1 INNER JOIN taulukko2 päällä taulukko1.col = taulukko2.col;

Tässä on yleiskyselyn kuvaus:

Meillä on kaksi taulukkoa, 'order1' ja 'order2', tietokannassamme on 'OrderNo' -sarake molemmissa alla olevan kuvan mukaisesti.

Yhdistämme INNER-liitoksen avulla kahden taulukon kopiot määritetyn sarakkeen mukaan. INNER JOIN -lauseke saa kaikki tiedot molemmista taulukoista yhdistämällä ne, ja ON-lauseke liittyy samoihin nimisarakkeisiin molemmista taulukoista, e.g., Tilausnumero.

>> VALITSE * FROM-tiedoista.järjestys1 INNER JOIN -tiedot.order2 ON order1.Tilausnumero = tilaus2.Tilausnumero;

Saadaksesi tietyt sarakkeet tulosteeseen, kokeile seuraavaa komentoa:

>> SELECT Region, Status, Item, Sales FROM data.järjestys1 INNER JOIN -tiedot.order2 ON order1.Tilausnumero = tilaus2.Tilausnumero;

Johtopäätös

Voisimme nyt etsiä useita kopioita yhdestä tai useammasta MySQL-tietotaulukosta ja tunnistaa GROUP BY-, COUNT- ja INNER JOIN -toiminnot. Varmista, että olet rakentanut taulukot oikein ja että oikeat sarakkeet on valittu.

How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...