MySQL skaits atbilst ierakstiem ar COUNT

Mysql Count Matching Records With Count



Datu dublēšana notiek daudzu iemeslu dēļ. Vairāki no sarežģītajiem pienākumiem, kas jums jārisina, strādājot ar datu bāzu sistēmām, mēģina atklāt dublētas vērtības. Šim nolūkam mēs izmantosim COUNT () apkopošanas metodi. COUNT () metode atgriež rindu summu, kas atrodas noteiktā tabulā. Funkcija COUNT () ļauj summēt visas rindas vai tikai rindas, kas atbilst definētajam nosacījumam. Šajā rokasgrāmatā jūs uzzināsit, kā noteikt vērtību dublikātus vienai vai varbūt vairākām MySQL kolonnām, izmantojot COUNT (). COUNT () metodei ir šādi trīs veidi:

  • COUNT (*)
  • COUNT (izteiksme)
  • COUNT (DISTINCT izteiksme)

Pārliecinieties, ka jūsu sistēmā ir instalēts MySQL. Atveriet MySQL komandrindas klienta apvalku un ievadiet savu paroli, lai turpinātu. Mēs apskatīsim dažus piemērus, kā saskaitīt atbilstošās vērtības, izmantojot COUNT () metodi.









Mūsu shēmā “dati” ir tabula “sociāla”. Pārbaudīsim tā ierakstu, izmantojot šādu vaicājumu.



>> SELECT * NO dati .Sociāls;





MySQL COUNT (*)

COUNT (*) metodi izmanto, lai saskaitītu tabulā esošo rindu skaitu vai rindu skaitu atbilstoši dotajam nosacījumam. Lai pārbaudītu kopējo rindu skaitu tabulā, “sociālais” izmēģiniet zemāk esošo vaicājumu. Rezultātā tabulā kopumā ir 15 rindas.

>> SELECT COUNT (*) NO dati .Sociāls;



Aplūkojiet COUNT (*) metodi, definējot dažus nosacījumus. Mums ir jāiegūst to rindu skaits, kurās lietotājvārds ir tāds pats kā “Mustafa”. Jūs varat redzēt, ka šim konkrētajam vārdam ir tikai 4 ieraksti.

>> SELECT COUNT (*) NO dati .Sociāls KUR Lietotājs ='Mustafa';

Lai iegūtu kopējo rindu summu, kur lietotāju vietne ir “Instagram”, izmēģiniet tālāk norādīto vaicājumu. Tabulā “sociālais” ir tikai 4 ieraksti vietnei “Instagram”.

>> SELECT COUNT (*) NO dati .Sociāls KUR Vietne='Instagram';

Lai iegūtu kopējo rindu skaitu, kur vecums ir lielāks par 18, rīkojieties šādi:

>> SELECT COUNT (*) NO dati .Sociāls KUR Vecums> 18;

Ielādēsim sleju “Lietotājs” un “Vietne” datus no tabulas, kur lietotājvārds sākas ar alfabētu “M”. Izmēģiniet tālāk sniegto instrukciju par apvalku.

>> SELECT Lietotājs ,Vietne NO dati .Sociāls KUR Lietotājs patīk “M%';

MySQL COUNT (izteiksme)

Pakalpojumā MySQL COUNT (izteiksmes) metode tiek izmantota tikai tad, ja vēlaties saskaitīt slejas “izteiksme” vērtības, kas nav nulles. “Izteiksme” būtu jebkuras kolonnas nosaukums. Ņemsim vienkāršu tā piemēru. Mēs esam skaitījuši tikai slejas “Vietne” vērtības, kas nav nulles, kas ir saistīta ar sleju “Vecums”, kuras vērtība ir vienāda ar “25”. Redzi! Mums ir tikai 4 ieraksti bez nulles par lietotājiem, kuri ir sasnieguši 25 gadu vecumu un kuri izmanto vietnes.

>> SELECT COUNT (Vietne) NO dati .Sociāls KUR Vecums= 25;

MySQL COUNT (DISTNCT izteiksme)

Pakalpojumā MySQL COUNT (izteiksme DISTINCT) tiek izmantota, lai summētu vērtības, kas nav nulles, un slejas “izteiksme” atšķirīgās vērtības. Lai kolonnā “Vecums” saskaitītu atšķirīgu vērtību, kas nav nulles vērtība, mēs izmantojām zemāk esošo vaicājumu. Tabulā “sociālais” atradīsit sešus slejas “Vecums” ierakstus, kas nav nulles. Tas nozīmē, ka mums kopumā ir 6 cilvēki ar dažādu vecumu.

>> SELECT COUNT ( ATŠĶIRT Vecums) NO dati .Sociāls;

MySQL COUNT (JA (izteiksme))

Lielam uzsvaram COUNT () ir jāapvieno ar plūsmas kontroles funkcijām. Iesācējiem daļai izteiksmes, kas tiek izmantota metodē COUNT (), varat izmantot funkciju IF (). Tas var būt ļoti noderīgi, lai nodrošinātu ātru informācijas sadalījumu datu bāzē. Mēs saskaitīsim rindu skaitu ar dažādiem vecuma apstākļiem un sadalīsim tās trīs dažādās kolonnās, kuras var teikt kā kategorijas. Pirmkārt, COUNT (IF) saskaitīs rindas, kuru vecums ir mazāks par 20 gadiem, un saglabās šo skaitu jaunā slejā ar nosaukumu “Pusaudži”. Otrais COUNT (IF) skaita rindas, kuru vecums ir no 20 līdz 30 gadiem, vienlaikus saglabājot tās slejā “Jauni”. Treškārt, pēdējā tiek skaitītas rindas, kuru vecums ir lielāks par 30 gadiem un saglabātas slejā “Pieaugušas”. Mūsu reģistrā ir 5 pusaudži, 9 jauni un tikai viens nobriedis cilvēks.

>> SELECT COUNT ( IF (Vecums< divdesmit,1, NULL ))'Pusaudži', COUNT ( IF (Vecums STARP divdesmit UN 30,1, NULL ))‘Jauns’, COUNT ( IF (Vecums> 30,1, NULL ))'Nobriedis' NO dati .Sociāls;

MySQL COUNT (*) ar klauzulu GROUP BY

Priekšraksts GROUP BY ir SQL instrukcija, kas tiek izmantota grupu rindām ar vienādām vērtībām. Tas atgriež katrā grupā esošo vērtību kopskaitu. Piemēram, ja vēlaties pārbaudīt katra lietotāja numuru atsevišķi, jums ir jādefinē sleja “Lietotājs” ar klauzulu GROUP BY, vienlaikus skaitot ierakstus katram lietotājam ar COUNT (*).

>> SELECT Lietotājs , COUNT (*) NO dati .Sociāls GROUP BY Lietotājs ;

Veicot rindu skaitīšanu kopā ar klauzulu GROUP BY, varat atlasīt vairāk nekā divas kolonnas, kā norādīts tālāk.

>> SELECT Lietotājs ,Vecums,Vietne, COUNT (*) NO dati .Sociāls GROUP BY Vietne;

Ja mēs vēlamies saskaitīt rindas, izmantojot WHERE klauzulu, kurā ir daži nosacījumi līdzās GROUP BY un COUNT (*), to varat arī izdarīt. Zemāk esošais vaicājums iegūs un saskaitīs sleju ierakstus: “Lietotājs”, “Vietne” un “Vecums”, kur vietnes vērtība ir tikai “Instagram” un “Snapchat”. Jūs varat redzēt, ka mums ir tikai 1 ieraksts abām vietnēm dažādiem lietotājiem.

>> SELECT Lietotājs ,Vietne,Vecums, COUNT (*) NO dati .Sociāls KUR Vietne='Instagram' Vai Vietne=“Snapchat” GROUP BY Vietne,Vecums;

MySQL COUNT (*) ar klauzulu GROUP BY un ORDER BY

Izmēģināsim klauzulas GROUP BY un ORDER BY kopā ar COUNT () metodi. Ielādēsim un saskaitīsim tabulas “sociālās” rindas, sakārtojot datus dilstošā secībā, izmantojot šo vaicājumu:

>> SELECT Lietotājs ,Vietne,Vecums, COUNT (*) NO dati .Sociāls GROUP BY Vecums SAKĀRTOT PĒC COUNT (*) DESC ;

Tālāk norādītais vaicājums vispirms saskaitīs rindas, pēc tam augošā secībā parādīs vienīgos ierakstus, kuru COUNT ir lielāks par 2.

>> SELECT Lietotājs ,Vecums, COUNT (*) NO dati .Sociāls GROUP BY Vecums Ņemot COUNT (*) > 2 SAKĀRTOT PĒC COUNT (*) ASC ;

Secinājums

Mēs esam pārbaudījuši visas iespējamās metodes, lai saskaitītu atbilstošos vai dublētos ierakstus, izmantojot COUNT () metodi ar dažādiem citiem noteikumiem.