Mysql Finn dupliserte verdier i tabellen

Mysql Finn dupliserte verdier i tabellen
Redundante data kan oppbevares i tabellen av databaseprogrammet, og påvirker databasens utdata i MySQL. Data -replikering skjer imidlertid for forskjellige formål, og det er en viktig jobb å identifisere duplikatverdiene i tabellen når du arbeider med en MySQL -database. Stort sett er det smart å bruke klare begrensninger på en bord ofte for å lagre informasjon som forhindrer overflødige rader. Noen ganger, i en MySQL -database, vil du kanskje beregne antall gjentatte verdier. Vi tok opp dette spørsmålet i dette emnet, der du vil lære om hvordan du finner dupliserte verdier på forskjellige måter og hvordan du kan telle dupliserte verdier.

For å komme i gang, må du ha MySQL installert på systemet ditt med dets verktøy: MySQL Workbench og kommandolinje klientskall. Etter det bør du ha noen data eller verdier i databasetabellene dine som duplikater. La oss utforske dette med noen eksempler. Først av alt, åpne kommandolinjens klientskall fra skrivebordet ditt og skriv MySQL-passordet ditt på spurt.

Vi har funnet forskjellige metoder for å finne duplisert i en tabell. Ta en titt på dem en etter en.

Søk i duplikater i en enkelt kolonne

Først må du vite om syntaksen til spørringen som brukes til å sjekke og telle duplikater for en enkelt kolonne.

>> Velg Col Count (COL) fra Table Group av Col som har Count (COL)> 1;

Her er forklaringen på spørringen ovenfor:

  • Kolonne: Navn på kolonnen som skal sjekkes.
  • TELLE(): Funksjonen som ble brukt til å telle mange duplikatverdier.
  • GRUPPE AV: Klausulen som brukes til å gruppere alle rader i henhold til den aktuelle kolonnen.

Vi har laget en ny tabell kalt 'Animals' i MySQL -databasen 'Data' med dupliserte verdier. Den har seks kolonner med forskjellige verdier i seg, e.g., ID, navn, arter, kjønn, alder og pris som gir informasjon angående forskjellige kjæledyr. Når vi ringer til denne tabellen ved hjelp av SELECT-spørringen, får vi utdataene nedenfor på MySQL-kommandolinjens klientskall.

>> Velg * fra data.dyr;

Nå vil vi prøve å finne de overflødige og gjentatte verdiene fra tabellen ovenfor ved å bruke tellingen og gruppen BY -leddet i SELECT -spørringen. Denne spørringen vil telle navnene på kjæledyr som er plassert mindre enn 3 ganger i tabellen. Etter det vil den vise disse navnene som nedenfor.

>> velg Navntelling (navn) fra data.Dyrgruppe ved navn har telling (navn) < 3;

Bruke den samme spørringen for å få forskjellige resultater mens du endrer tellenummeret for navn på kjæledyr som vist nedenfor.

>> velg Navntelling (navn) fra data.Dyrgruppe ved navn å ha telling (navn)> 3;

For å få resultater for totalt 3 duplikatverdier for navn på kjæledyr som vist nedenfor.

>> velg Navntelling (navn) fra data.Dyrgruppe ved navn å ha telling (navn) = 3;

Søk i duplikater i flere kolonner

Syntaksen til spørringen for å sjekke eller telle duplikater for flere kolonner er som følger:

>> Velg Col1, Count (Col1), Col2, Count (Col2) fra Table Group av Col1, Col2 som har telling (Col1)> 1 og Count (Col2)> 1;

Her er forklaringen på spørringen ovenfor:

  • Col1, Col2: Navn på kolonnene som skal sjekkes.
  • TELLE(): Funksjonen som ble brukt til å telle flere duplikatverdier.
  • GRUPPE AV: Klausulen som brukes til å gruppere alle rader i henhold til den spesifikke kolonnen.

Vi har brukt den samme tabellen som heter 'Animals' med dupliserte verdier. Vi fikk utdataene nedenfor mens vi brukte spørringen ovenfor for å sjekke duplikatverdiene i flere kolonner. Vi har sjekket og teller duplikatverdiene for kolonner kjønn og pris mens de er gruppert etter kolonneprisen. Det vil vise kjæledyrskjønnene og prisene deres som er bosatt i bordet som duplikater ikke mer enn 5.

>> Velg kjønn, telling (kjønn), pris, telling (pris) fra data.Dyrgruppe etter pris å ha telling (pris) < 5 AND COUNT(Gender) < 5;

Søk i duplikater i enkelttabell ved hjelp av indre sammenføyning

Her er den grunnleggende syntaksen for å finne duplikater i en enkelt tabell:

>> Velg col1, col2, tabell.col fra tabell indre sammenføyning (velg col fra tabellgruppe av col som har telling (col1)> 1) temp på tabellen.col = temp.col;

Her er fortellingen om overhead -spørringen:

  • Col: Navnet på kolonnen som skal sjekkes og velges for duplikater.
  • Temp: nøkkelord for å bruke indre sammenføyning på en kolonne.
  • Bord: Navnet på tabellen som skal sjekkes.

Vi har en ny tabell, 'Order2' med dupliserte verdier i kolonnen Orderno som vist nedenfor.

>> Velg * fra data.ordre2;

Vi velger tre kolonner: vare, salg, bestill som skal vises i utgangen. Mens kolonneordren brukes til å sjekke duplikater. Den indre sammenføyningen vil velge verdiene eller radene som har verdiene til elementer mer enn en i en tabell. Når vi utfører, vil vi få resultatene nedenfor.

>> Velg vare, salg, bestilling2.Ordre fra data.bestill2 indre sammenføyning (velg ordreNo fra data.bestill2 gruppe etter ordreNo å ha telling (vare)> 1) temp på ordre2.Orderno = temp.Best.nr;

Søk i duplikater i flere tabeller ved hjelp av indre sammenføyning

Her er den forenklede syntaksen for å finne duplikater i flere tabeller:

>> Velg col fra tabell1 indre sammenføyning av tabell2 på tabell1.col = tabell2.col;

Her er beskrivelsen av overhead -spørringen:

  • col: Navn på kolonnene som skal sjekkes og velges.
  • Indre sammenføyning: Funksjonen som ble brukt til å bli med i to tabeller.
  • PÅ: brukes til å bli med i to tabeller i henhold til medfølgende kolonner.

Vi har to tabeller, 'Order1' og 'Order2', i vår database som har 'OrderNo' -kolonnen i begge deler som vist nedenfor.

Vi bruker den indre sammenføyningen for å kombinere duplikatene til to tabeller i henhold til en spesifisert kolonne. Den indre sammenføyningsklausulen vil få alle dataene fra begge tabellene ved å bli med dem, og ON -leddet vil relatere samme navnekolonner fra begge tabellene, e.g., Best.nr.

>> Velg * fra data.bestill1 indre sammenføyningsdata.Bestill2 på bestilling1.OrdreNo = ordre2.Best.nr;

For å få de spesielle kolonnene i en utgang, prøv kommandoen nedenfor:

>> Velg region, status, vare, salg fra data.bestill1 indre sammenføyningsdata.Bestill2 på bestilling1.OrdreNo = ordre2.Best.nr;

Konklusjon

Vi kan nå søke etter flere kopier i en eller flere tabeller med MySQL -informasjon og gjenkjenne gruppen av, Count og Inner Join -funksjonen. Forsikre deg om at du har bygget bordene ordentlig, og at de riktige kolonnene er valgt.