Înregistrările potrivite MySQL Count cu COUNT

Mysql Count Matching Records With Count



Redundanța datelor are loc din mai multe motive. 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 valori duplicat pentru una sau poate mai multe coloane MySQL folosind COUNT (). Metoda COUNT () are următoarele trei tipuri:

  • NUMARA(*)
  • COUNT (expresie)
  • COUNT (expresie DISTINCTĂ)

Asigură-te că ai instalat MySQL pe sistemul tău. 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 ().









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



>> SELECTAȚI * 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 NUMARA (*) 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 NUMARA (*) 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 web „Instagram”.

>> SELECTAȚI NUMARA (*) DIN date .Social UNDE Site-ul web=„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 NUMARA (*) DIN date .Social UNDE Vârstă> 18;

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

>> SELECTAȚI Utilizator ,Site-ul web DIN date .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. Am numărat 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 NUMARA (Site-ul web) DIN date .Social UNDE Vârstă= 25;

MySQL COUNT (expresie DISTNCT)

În MySQL, metoda COUNT (expresie DISTINCT) este utilizată pentru a însuma valori care nu sunt 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 NUMARA ( DISTINCT Vârstă) DIN date .Social;

MySQL COUNT (IF (expresie))

Pentru un accent mare, ar trebui să îmbinaț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 oferi 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) contorizează 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 de ani și salvate într-o coloană „Matur”. Avem 5 adolescenți, 9 tineri și doar 1 persoană matură în palmaresul nostru.

>> SELECTAȚI NUMARA ( DACĂ (Vârstă< douăzeci,1, NUL ))„Adolescent”, NUMARA ( DACĂ (Vârstă ÎNTRE douăzeci ȘI 30,1, NUL ))'Tineri', NUMARA ( DACĂ (Vârstă> 30,1, NUL ))'Matur' DIN date .Social;

MySQL COUNT (*) cu clauza GROUP BY

Instrucțiunea GROUP BY este o instrucțiune SQL utilizând 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 Utilizator , NUMARA (*) DIN date .Social A SE GRUPA CU 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-ul web, NUMARA (*) DIN date .Social A SE GRUPA CU Site-ul web;

Dacă dorim să numărăm rândurile în timp ce folosim 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-ul web,Vârstă, NUMARA (*) DIN date .Social UNDE Site-ul web=„Instagram” Sau Site-ul web=„Snapchat” A SE GRUPA CU Site-ul web,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 tabelului „social” în timp ce aranjăm datele în ordine descrescătoare folosind această interogare:

>> SELECTAȚI Utilizator ,Site-ul web,Vârstă, NUMARA (*) DIN date .Social A SE GRUPA CU Vârstă COMANDA DE NUMARA (*) DESC ;

Interogarea de mai jos va conta 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ă, NUMARA (*) DIN date .Social A SE GRUPA CU Vârstă AVÂND NUMARA (*) > 2 COMANDA DE NUMARA (*) ASC ;

Concluzie

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