MySQL MariaDB

MySQL nájde duplicitné hodnoty v tabuľke

MySQL nájde duplicitné hodnoty v tabuľke
Redundantné údaje môže databázový program uchovávať v tabuľke, čo ovplyvňuje výstup databázy v MySQL. Replikácia údajov sa však deje na rôzne účely a pri práci s databázou MySQL je dôležité identifikovať duplicitné hodnoty v tabuľke. Všeobecne povedané, je rozumné často používať zreteľné obmedzenia na stôl na ukladanie informácií, ktoré zabraňujú nadbytočným riadkom. Niekedy v databáze MySQL možno budete chcieť vypočítať počet opakovaných hodnôt. Tejto otázke sme sa venovali v tejto téme, v ktorej sa dozviete, ako rôznymi spôsobmi vyhľadať duplicitné hodnoty a ako počítať duplicitné hodnoty.

Na začiatok musíte mať vo svojom systéme nainštalovaný MySQL s jeho pomocnými programami: pracovná plocha MySQL a shell klienta príkazového riadku. Potom by ste mali mať niektoré údaje alebo hodnoty v databázových tabuľkách ako duplikáty. Poďme to preskúmať na niekoľkých príkladoch. Najskôr otvorte shell klienta príkazového riadku na paneli úloh na pracovnej ploche a po výzve zadajte svoje heslo MySQL.

Našli sme rôzne metódy na vyhľadanie duplikátov v tabuľke. Pozerajte sa na ne jeden po druhom.

Vyhľadajte duplikáty v jednom stĺpci

Najprv musíte vedieť o syntaxi dotazu použitého na kontrolu a počítanie duplikátov pre jeden stĺpec.

>> VÝBER stĺpca POČET (stĺpec) Z tabuľky SKUPINA PODĽA stĺpca MÁ POČET (stĺpec)> 1;

Tu je vysvetlenie vyššie uvedeného dotazu:

V našej databáze MySQL sme vytvorili novú tabuľku s názvom „zvieratá“, ktorá má duplicitné hodnoty. Má šesť stĺpcov s rôznymi hodnotami, napr.g., id, meno, druh, pohlavie, vek a cena poskytujúce informácie týkajúce sa rôznych domácich miláčikov. Pri volaní tejto tabuľky pomocou dotazu SELECT dostaneme výstup uvedený nižšie v našom klientskom prostredí príkazového riadku MySQL.

>> SELECT * FROM data.zvieratá;

Teraz sa pokúsime nájsť nadbytočné a opakované hodnoty z tabuľky vyššie pomocou klauzúl COUNT a GROUP BY v dotaze SELECT. Tento dopyt bude počítať Názvy domácich miláčikov, ktoré sú v tabuľke umiestnené menej ako trikrát. Potom sa tieto názvy zobrazia nižšie.

>> VYBERTE Meno POČET (Meno) Z údajov.zvieratá SKUPINA PODĽA MENY MÁ POČET (meno) < 3;

Rovnaký dopyt umožňuje získať rôzne výsledky pri zmene čísla COUNT pre mená domácich miláčikov, ako je uvedené nižšie.

>> VYBERTE Meno POČET (Meno) Z údajov.zvieratá SKUPINA PODĽA MENY MÁ POČET (Meno)> 3;

Ak chcete získať výsledky pre celkovo 3 duplicitné hodnoty pre Názvy domácich miláčikov, ako je uvedené nižšie.

>> VYBERTE Meno POČET (Meno) Z údajov.zvieratá SKUPINA PODĽA MENY MÁ POČET (meno) = 3;

Vyhľadajte duplikáty vo viacerých stĺpcoch

Syntax dotazu na kontrolu alebo počítanie duplikátov pre viac stĺpcov je nasledovná:

>> SELECT col1, COUNT (col1), col2, COUNT (col2) FROM table GROUP BY col1, col2 HAVING COUNT (col1)> 1 AND COUNT (col2)> 1;

Tu je vysvetlenie vyššie uvedeného dotazu:

Používali sme rovnakú tabuľku s názvom „zvieratá“, ktorá mala duplicitné hodnoty. Získali sme výstup nižšie, zatiaľ čo sme pomocou vyššie uvedeného dotazu skontrolovali duplicitné hodnoty vo viacerých stĺpcoch. Kontrolujeme a počítame duplicitné hodnoty pre stĺpce Pohlavie a Cena, pričom sme boli zoskupení podľa stĺpca Cena. Zobrazia sa pohlavia domácich miláčikov a ich ceny, ktoré sa v tabuľke nachádzajú ako duplikáty najviac 5.

>> VYBERTE Pohlavie, POČET (Pohlavie), Cena, POČET (Cena) Z údajov.zvieratá SKUPINA PODĽA Cena MÁ POČET (Cena) < 5 AND  COUNT(Gender) < 5;

Vyhľadajte duplikáty v jednej tabuľke pomocou INNER JOIN

Tu je základná syntax pre hľadanie duplikátov v jednej tabuľke:

>> SELECT col1, col2, table.stĺpec FROM tabuľky VNÚTORNÉ PRIPOJENIE (ZVOLIŤ stĺpec Z tabuľky SKUPINA PODĽA stĺpca HAVING COUNT (stĺpec1)> 1) tepl.col = tepl.col;

Tu je popis spätného dotazu:

Máme novú tabuľku „order2“ s duplicitnými hodnotami v stĺpci OrderNo, ako je uvedené nižšie.

>> SELECT * FROM data.objednávka2;

Vyberáme tri stĺpce: Položka, Predaj, Číslo objednávky, ktoré sa majú zobraziť na výstupe. Zatiaľ čo stĺpec OrderNo slúži na kontrolu duplikátov. Vnútorné spojenie vyberie hodnoty alebo riadky s hodnotami položiek viac ako jedna v tabuľke. Po vykonaní dostaneme výsledky uvedené nižšie.

>> VYBRAŤ položku, predaj, objednávku2.Objednávka Žiadne FROM dáta.order2 INNER JOIN (VYBER OBJEDNÁVKU č. Z údajov.order2 GROUP BY OrderNo HAVING COUNT (Item)> 1) temp ON order2.Číslo objednávky = tepl.Číslo objednávky;

Vyhľadajte duplikáty vo viacerých tabuľkách pomocou INNER JOIN

Tu je zjednodušená syntax na hľadanie duplikátov vo viacerých tabuľkách:

>> SELECT col FROM table1 INNER JOIN table2 ON table1.col = tabuľka2.col;

Tu je popis režijného dopytu:

V našej databáze máme dve tabuľky „order1“ a „order2“ so stĺpcom „OrderNo“, ako je zobrazené nižšie.

Použijeme VNÚTORNÉ spojenie na kombinovanie duplikátov dvoch tabuliek podľa zadaného stĺpca. Klauzula INNER JOIN získa všetky údaje z oboch tabuliek ich spojením a klauzula ON bude súvisieť so stĺpcami rovnakého názvu z oboch tabuliek, napr.g., Číslo objednávky.

>> SELECT * FROM data.order1 INNER JOIN údaje.objednávka2 ON objednávka1.OrderNo = order2.Číslo objednávky;

Ak chcete získať konkrétne stĺpce vo výstupe, vyskúšajte nasledujúci príkaz:

>> VYBERTE Oblasť, Stav, Položka, Predaj Z údajov.order1 INNER JOIN údaje.objednávka2 ON objednávka1.OrderNo = order2.Číslo objednávky;

Záver

Teraz by sme mohli vyhľadať viac kópií v jednej alebo viacerých tabuľkách informácií MySQL a rozpoznať funkciu GROUP BY, COUNT a INNER JOIN. Uistite sa, že ste tabuľky zostavili správne a tiež aby ste vybrali správne stĺpce.

Ako používať Xdotool na stimuláciu kliknutí a stlačenia myši v systéme Linux
Xdotool je bezplatný a otvorený nástroj príkazového riadku na simuláciu kliknutí a stlačenia klávesov myši. Tento článok sa bude týkať stručného sprie...
Top 5 ergonomických produktov pre počítačové myši pre Linux
Spôsobuje dlhodobé používanie počítača bolesť zápästia alebo prstov? Trpíte stuhnutými kĺbmi a neustále si musíte podávať ruky? Cítite pálivú bolesť z...
Ako zmeniť nastavenie myši a touchpadu pomocou systému Xinput v systéme Linux
Väčšina distribúcií systému Linux sa štandardne dodáva s knižnicou „libinput“ na spracovanie vstupných udalostí v systéme. Dokáže spracovať vstupné ud...