MySQL MariaDB

MySQL Conține înregistrări potrivite cu COUNT

MySQL Conține înregistrări potrivite cu COUNT

Redundanța datelor are loc din mai multe motive. Mai multe dintre sarcinile complicate cu care ar trebui să vă confruntați în timp ce lucrați cu sisteme de baze de date încearcă să descopere valori duplicate. În acest scop, vom folosi metoda agregată COUNT (). Metoda COUNT () returnează suma rândurilor care se află într-un anumit tabel. Funcția COUNT () vă permite să însumați toate rândurile sau numai rândurile care corespund condiției definite. În acest ghid, veți afla cum să identificați valorile duplicate pentru una sau poate mai multe coloane MySQL folosind COUNT (). Metoda COUNT () are următoarele trei tipuri:

Asigurați-vă că aveți MySQL instalat pe sistemul dvs. Deschideți shell-ul clientului din linia de comandă MySQL și introduceți parola pentru a continua. Vom analiza câteva exemple de numărare a valorilor potrivite folosind metoda COUNT ().

Avem un tabel „social” în schema noastră „date”. Să verificăm înregistrarea acestuia prin următoarea interogare.

>> SELECT * DIN date.social;

MySQL COUNT (*)

Metoda COUNT (*) este utilizată pentru a număra numărul de rânduri care se află în tabel sau pentru a număra numărul de rânduri în funcție de condiția dată. Pentru a verifica numărul total de rânduri dintr-un tabel, „social” încercați interogarea de mai jos. Avem un total de 15 rânduri în tabel conform rezultatului.

>> SELECTAȚI COUNT (*) DIN date.social;

Aruncați o privire asupra metodei COUNT (*) în timp ce definiți unele condiții. Trebuie să preluăm numărul de rânduri în care numele de utilizator este același cu „Mustafa”. Puteți vedea că avem doar 4 înregistrări pentru acest nume.

>> SELECTAȚI COUNT (*) DIN date.social UNDE Utilizator = 'Mustafa';

Pentru a prelua suma totală a rândurilor în care site-ul utilizatorului este „Instagram”, încercați interogarea de mai jos. Tabelul „social” are doar 4 înregistrări pentru site-ul „Instagram”.

>> SELECTAȚI COUNT (*) DIN date.social WHERE Website = 'Instagram';

Pentru a prelua numărul total de rânduri în care „vârsta” este mai mare de 18 este după cum urmează:

>> SELECTAȚI COUNT (*) DIN date.social UNDE Vârstă> 18;

Să preluăm datele coloanelor „Utilizator” și „Site web” dintr-un tabel, unde numele de utilizator începe cu alfabetul „M”. Încercați instrucțiunile de mai jos de pe shell.

>> SELECTAȚI Utilizatorul, site-ul web din datele.social UNDE Utilizator ca „M%”;

MySQL COUNT (expresie)

În MySQL, metoda COUNT (expresie) este utilizată numai atunci când doriți să numărați valori non-nule ale coloanei „expresie”. „Expresia” ar fi numele oricărei coloane. Să luăm un exemplu simplu. Numărăm doar valorile care nu sunt nule ale unei coloane „Website”, care este legată de coloana „Age” având o valoare egală cu „25”. Vedea! Avem doar 4 înregistrări care nu sunt nule pentru utilizatorii cu vârsta de 25 de ani, care utilizează site-uri web.

>> SELECTAȚI COUNT (Website) DIN date.social UNDE Vârstă = 25;

MySQL COUNT (expresie DISTNCT)

În MySQL, metoda COUNT (expresie DISTINCTĂ) este utilizată pentru a însuma valori non-nule și valori distincte ale coloanei „expresie”. Pentru a număra un număr distinct de valori care nu sunt nule în coloana „Vârstă”, am folosit interogarea de mai jos. Veți găsi 6 înregistrări non-nule și distincte ale coloanei „Vârstă” din tabelul „social”. Aceasta înseamnă că avem în total 6 persoane cu vârste diferite.

>> SELECTAȚI COUNT (VARSĂ DISTINCTĂ) DIN date.social;

MySQL COUNT (IF (expresie))

Pentru un accent mare, ar trebui să combinați COUNT () cu funcțiile de control al fluxului. Pentru început, pentru o parte din expresie utilizată în metoda COUNT (), puteți utiliza funcția IF (). Poate fi foarte util să faceți acest lucru pentru a furniza o defalcare rapidă a informațiilor din interiorul unei baze de date. Vom număra numărul de rânduri cu condiții de vârstă diferite și le vom împărți în trei coloane diferite, care se pot spune ca categorii. În primul rând, COUNT (IF) va număra rândurile cu vârsta mai mică de 20 de ani și va salva acest număr într-o nouă coloană numită „Adolescent”. Al doilea COUNT (IF) numără rândurile cu vârste cuprinse între 20 și 30 în timp ce îl salvează într-o coloană „Tânăr”. În al treilea rând, ultimul contorizează rândurile cu vârste mai mari de 30 și salvate într-o coloană „Matur”. Avem 5 adolescenți, 9 tineri și doar 1 persoană matură în palmaresul nostru.

>> SELECTAȚI NUMĂRUL (DACĂ (vârstă < 20,1,NULL)) 'Teenage', COUNT(IF(Age BETWEEN 20 AND  30,1,NULL)) 'Young', COUNT(IF(Age > 30,1, NULL)) „Matur” DIN date.social;

MySQL COUNT (*) cu clauza GROUP BY

Instrucțiunea GROUP BY este o instrucțiune SQL utilizată pentru rânduri de grup cu aceleași valori. Returnează numărul total de valori care se află în fiecare grup. De exemplu, dacă doriți să verificați numărul fiecărui utilizator separat, trebuie să definiți coloana „Utilizator” cu clauza GROUP BY în timp ce numărați înregistrările pentru fiecare utilizator cu COUNT (*).

>> SELECTAȚI Utilizatorul, COUNT (*) DIN date.social GRUP PE Utilizator;

Puteți selecta mai mult de două coloane în timp ce efectuați numărarea rândurilor împreună cu clauza GROUP BY, după cum urmează.

>> SELECTAȚI Utilizator, Vârstă, Site web, COUNT (*) DIN date.social GROUP BY Website;

Dacă dorim să numărăm rândurile în timp ce utilizăm clauza WHERE având anumite condiții în cadrul acesteia alături de GROUP BY și COUNT (*), puteți face acest lucru. Interogarea de mai jos va prelua și număra înregistrările coloanelor: „Utilizator”, „Site web” și „Vârstă”, unde valoarea site-ului web este numai „Instagram” și „Snapchat”. Puteți vedea că avem doar 1 înregistrare pentru ambele site-uri web pentru utilizatori diferiți.

>> SELECTAȚI Utilizator, Site web, Vârstă, COUNT (*) DIN date.social UNDE Website = 'Instagram' Sau Website = 'Snapchat' GRUPĂ PE Site, vârstă;

MySQL COUNT (*) cu clauza GROUP BY și ORDER BY

Să încercăm clauzele GROUP BY și ORDER BY împreună cu metoda COUNT (). Să preluăm și să numărăm rândurile din tabel „social” în timp ce aranjăm datele în ordine descrescătoare folosind această interogare:

>> SELECTAȚI Utilizator, Site web, Vârstă, COUNT (*) DIN date.social GRUP după vârstă ORDINĂ PE NUMĂR (*) DESC;

Interogarea de mai jos va număra mai întâi rândurile, apoi va afișa singurele înregistrări cu COUNT mai mare de 2 în ordine crescătoare.

>> SELECTAȚI Utilizator, Vârstă, COUNT (*) DIN date.social GRUP după vârstă având un număr (*)> 2 COMANDĂ PE NUMĂR (*) ASC;

Concluzie

Am parcurs toate metodele posibile pentru a număra înregistrările potrivite sau duplicate folosind metoda COUNT () cu alte clauze diferite.

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...
OpenTTD Tutorial
OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...