MySQL MariaDB

MySQL Găsiți valori duplicate în tabel

MySQL Găsiți valori duplicate în tabel
Datele redundante pot fi păstrate în tabel de către programul bazei de date, influențând rezultatele bazei de date în MySQL. Replicarea datelor, totuși, are loc în scopuri diferite și este o sarcină importantă identificarea valorilor duplicate din tabel atunci când se tratează o bază de date MySQL. În linii mari, este inteligent să folosiți deseori restricții clare pe o masă pentru a stoca informații care împiedică rândurile redundante. Uneori, într-o bază de date MySQL, ați putea dori să calculați numărul de valori repetate. Am abordat această întrebare în acest subiect, în care veți afla despre cum să localizați valorile duplicate prin diferite moduri și cum să numărați valorile duplicate.

Pentru a începe, trebuie să aveți MySQL instalat pe sistemul dvs. cu utilitățile sale: MySQL workbench și linia de comandă client shell. După aceea, ar trebui să aveți câteva date sau valori în tabelele bazei de date ca duplicate. Să explorăm acest lucru cu câteva exemple. În primul rând, deschideți shell-ul clientului din linia de comandă din bara de activități de pe desktop și introduceți parola MySQL la cerere.

Am găsit diferite metode pentru a găsi duplicate într-un tabel. Uită-te la ele unul câte unul.

Căutați duplicate într-o singură coloană

Mai întâi, trebuie să știți despre sintaxa interogării utilizate pentru a verifica și a număra duplicatele pentru o singură coloană.

>> SELECTAȚI COUNT COL (col) DIN tabel GRUP ÎN COL. AVÂND COUNT (col)> 1;

Iată explicația interogării de mai sus:

Am creat un nou tabel numit „animale” în baza de date MySQL „date” cu valori duplicat. Are șase coloane cu valori diferite în ea, e.g., id, nume, specie, sex, vârstă și preț, oferind informații despre diferite animale de companie. La apelarea acestui tabel utilizând interogarea SELECT, obținem rezultatul de mai jos pe shell-ul nostru de linie de comandă MySQL.

>> SELECT * DIN date.animale;

Acum, vom încerca să găsim valorile redundante și repetate din tabelul de mai sus utilizând clauza COUNT și GROUP BY din interogarea SELECT. Această interogare va conta Numele animalelor de companie care sunt situate de mai puțin de 3 ori în tabel. După aceea, va afișa acele nume după cum urmează.

>> SELECTAȚI Nume COUNT (Nume) DIN date.animale GRUPA PE NUME AVÂND NUMĂR (Numele) < 3;

Folosind aceeași interogare pentru a obține rezultate diferite în timp ce schimbați numărul COUNT pentru numele animalelor de companie, așa cum se arată mai jos.

>> SELECTAȚI Nume COUNT (Nume) DIN date.animale GRUPA PE NUME AVÂND NUMĂR (Numele)> 3;

Pentru a obține rezultate pentru un total de 3 valori duplicat pentru numele animalelor de companie, așa cum se arată mai jos.

>> SELECTAȚI Nume COUNT (Nume) DIN date.animale GRUPUL DUPĂ NOMURI AVÂND COUNT (Nume) = 3;

Căutați duplicate în mai multe coloane

Sintaxa interogării pentru verificarea sau numărarea duplicatelor pentru mai multe coloane este după cum urmează:

>> SELECTA col1, COUNT (col1), col2, COUNT (col2) DIN tabel GRUPUL CU col1, col2 AVÂND COUNT (col1)> 1 ȘI COUNT (col2)> 1;

Iată explicația interogării de mai sus:

Am folosit același tabel numit „animale” cu valori duplicat. Am obținut rezultatul de mai jos în timp ce utilizăm interogarea de mai sus pentru verificarea valorilor duplicate în mai multe coloane. Am verificat și numărat valorile duplicate pentru coloanele Sex și preț în timp ce erau grupate după coloana Preț. Acesta va afișa sexele animalelor de companie și prețurile acestora care se află în tabel ca duplicate nu mai mult de 5.

>> SELECȚIONAȚI Sex, COUNT (Sex), Preț, COUNT (Preț) DIN date.animale GRUPA PE PREȚ AVÂND COUNT (Preț) < 5 AND  COUNT(Gender) < 5;

Căutați duplicate într-un singur tabel utilizând INNER JOIN

Iată sintaxa de bază pentru găsirea duplicatelor într-un singur tabel:

>> SELECT col1, col2, tabel.col FROM TABEL INNER JOIN (SELECTA col din tabel GRUP ÎN funcție de col HAVING COUNT (col1)> 1) temp ON table.col = temp.col;

Iată narațiunea interogării generale:

Avem un nou tabel, „order2” cu valori duplicat în coloana OrderNo, așa cum se arată mai jos.

>> SELECT * DIN date.comanda2;

Selectăm trei coloane: Articol, Vânzări, Comandă Nu pentru a fi afișat în rezultat. În timp ce coloana OrderNo este utilizată pentru a verifica duplicatele. Îmbinarea interioară va selecta valorile sau rândurile care au valorile Itemilor mai mult decât unul dintr-un tabel. La executare, vom obține rezultatele de mai jos.

>> SELECȚIONEAZĂ articol, vânzări, comandă2.OrderNo FROM date.order2 INNER JOIN (SELECTARE OrderNo DIN date.order2 GROUP BY OrderNo HAVING COUNT (Item)> 1) temp ON command2.OrderNo = temp.Comandă nu;

Căutați duplicate în mai multe tabele utilizând INNER JOIN

Iată sintaxa simplificată pentru găsirea duplicatelor în mai multe tabele:

>> SELECTA col din tabelul 1 INNER JOIN tabel2 ON tabel1.col = table2.col;

Iată descrierea interogării generale:

Avem două tabele, „order1” și „order2”, în baza noastră de date având coloana „OrderNo” în ambele, așa cum este afișat mai jos.

Vom folosi unirea INNER pentru a combina duplicatele a două tabele conform unei coloane specificate. Clauza INNER JOIN va obține toate datele din ambele tabele prin unirea lor, iar clauza ON va raporta aceleași coloane de nume din ambele tabele, e.g., Comandă nu.

>> SELECT * DIN date.order1 date INNER JOIN.order2 ON order1.OrderNo = order2.Comandă nu;

Pentru a obține coloanele particulare dintr-o ieșire, încercați comanda de mai jos:

>> SELECȚIONEAZĂ Regiunea, Starea, Articolul, Vânzările din datele.order1 date INNER JOIN.order2 ON order1.OrderNo = order2.Comandă nu;

Concluzie

Acum am putea căuta mai multe copii într-unul sau mai multe tabele de informații MySQL și să recunoaștem funcția GROUP BY, COUNT și INNER JOIN. Asigurați-vă că ați construit corect tabelele și, de asemenea, că sunt alese coloanele potrivite.

Cele mai bune jocuri Oculus App Lab
Dacă sunteți proprietarul căștilor Oculus, atunci trebuie să fiți informați despre încărcarea laterală. Încărcarea laterală este procesul de instalare...
Top 10 jocuri de jucat pe Ubuntu
Platforma Windows a fost una dintre platformele dominante pentru jocuri din cauza procentului imens de jocuri care se dezvoltă astăzi pentru a sprijin...
Cele mai bune 5 jocuri arcade pentru Linux
În zilele noastre, computerele sunt mașini serioase folosite pentru jocuri. Dacă nu puteți obține noul scor mare, veți ști la ce mă refer. În această ...