MySQL Count Matchende poster med COUNT

Mysql Count Matching Records With Count



Dataredundans opstår af mange årsager. Flere af de komplicerede opgaver, du skal klare, mens du arbejder med databasesystemer, forsøger at opdage dublerede værdier. Til dette formål vil vi bruge metoden COUNT (). Metoden COUNT () returnerer summen af ​​rækker i en bestemt tabel. Funktionen COUNT () giver dig mulighed for at summere alle rækker eller kun rækker, der matcher den definerede betingelse. I denne vejledning får du at vide, hvordan du identificerer dublerede værdier for en eller måske flere MySQL -kolonner ved hjælp af COUNT (). Metoden COUNT () har følgende tre typer:

  • TÆLLE(*)
  • COUNT (udtryk)
  • COUNT (DISTINCT udtryk)

Gør det klart, at du har MySQL installeret på dit system. Åbn MySQL-kommandolinjens klientskal og indtast din adgangskode for at fortsætte. Vi vil se på nogle eksempler til tælling af de matchende værdier ved hjælp af metoden COUNT ().









Vi har en tabel 'social' i vores skema 'data'. Lad os kontrollere dens registrering via følgende forespørgsel.



>> VÆLG * FRA data .Social;





MySQL COUNT (*)

COUNT (*) metoden bruges til at tælle antallet af rækker, der findes i tabellen, eller tælle antallet af rækker i henhold til den givne betingelse. For at kontrollere det samlede antal rækker i en tabel, skal du prøve 'social' nedenstående forespørgsel. Vi har i alt 15 rækker i tabellen i henhold til resultatet.

>> VÆLG TÆLLE (*) FRA data .Social;



Få et glimt af COUNT (*) metoden, mens du definerer nogle betingelser. Vi skal hente antallet af rækker, hvor brugernavnet er det samme som 'Mustafa'. Du kan se, at vi kun har 4 poster for dette navn.

>> VÆLG TÆLLE (*) FRA data .Social HVOR Bruger ='Mustafa';

For at hente den samlede sum af rækker, hvor brugernes websted er 'Instagram', skal du prøve den nedenfor angivne forespørgsel. Tabellen 'social' har kun 4 poster for webstedet 'Instagram'.

>> VÆLG TÆLLE (*) FRA data .Social HVOR Internet side='Instagram';

For at hente det samlede antal rækker, hvor ‘Alderen’ er større end 18, er som følger:

>> VÆLG TÆLLE (*) FRA data .Social HVOR Alder> 18;

Lad os hente dataene fra kolonnerne 'Bruger' og 'Websted' fra en tabel, hvor brugernavnet starter med alfabetet 'M'. Prøv nedenstående instruktion på skallen.

>> VÆLG Bruger ,Internet side FRA data .Social HVOR Bruger synes godt om ’M%';

MySQL COUNT (udtryk)

I MySQL bruges metoden COUNT (udtryk) kun, når du vil tælle ikke-Null-værdier i kolonnen 'udtryk'. 'Udtrykket' ville være navnet på enhver kolonne. Lad os tage et enkelt eksempel på det. Vi har kun talt de ikke-null-værdier for en kolonne 'Website', som er relateret til kolonnen 'Alder', der har en værdi, der svarer til '25'. Se! Vi har kun 4 ikke-null-registreringer for de brugere, der er 25 år gamle, og som bruger websteder.

>> VÆLG TÆLLE (Internet side) FRA data .Social HVOR Alder= 25;

MySQL COUNT (DISTNCT -udtryk)

I MySQL bruges metoden COUNT (DISTINCT expression) til at summere ikke-Null-værdier og forskellige værdier for kolonnen 'udtryk'. For at tælle et tydeligt antal ikke-null-værdier i kolonnen 'Alder' har vi brugt nedenstående forespørgsel. Du finder 6 ikke-null og tydelige optegnelser over kolonne 'Alder' fra tabellen 'social'. Det betyder, at vi har i alt 6 personer i forskellige aldre.

>> VÆLG TÆLLE ( DISTINCT Alder) FRA data .Social;

MySQL COUNT (IF (udtryk))

For stor vægt bør du flette COUNT () med flowkontrolfunktioner. Til at begynde med, for en del af udtrykket, der bruges i metoden COUNT (), kan du bruge funktionen IF (). Det kan være meget nyttigt at gøre dette for at give en hurtig opdeling af oplysningerne i en database. Vi vil tælle antallet af rækker med forskellige aldersbetingelser og opdele dem i tre forskellige kolonner, hvilket kan siges som kategorier. For det første vil COUNT (IF) tælle de rækker, der har en alder under 20 år, og gemme dette antal i en ny kolonne med navnet 'Teenage'. Andet COUNT (IF) tæller de rækker, der har aldre mellem 20 og 30, mens de gemmes i kolonnen 'Young'. For det tredje tæller den sidste rækker med aldre større end 30 og gemt i kolonnen 'Moden'. Vi har 5 teenagere, 9 unge og kun 1 moden person i vores rekord.

>> VÆLG TÆLLE ( HVIS (Alder< tyve,1, NUL ))'Teenage', TÆLLE ( HVIS (Alder MELLEM tyve OG 30,1, NUL ))'Ung', TÆLLE ( HVIS (Alder> 30,1, NUL ))'Moden' FRA data .Social;

MySQL COUNT (*) med GROUP BY -klausul

GROUP BY -sætningen er en SQL -instruktion, der bruges til grupperækker med de samme værdier. Det returnerer det samlede antal værdier, der findes i hver gruppe. For eksempel, hvis du vil kontrollere hver brugers nummer separat, skal du definere kolonnen 'Bruger' med GROUP BY -klausulen, mens du tæller poster for hver bruger med COUNT (*).

>> VÆLG Bruger , TÆLLE (*) FRA data .Social GRUPPE AF Bruger ;

Du kan enten vælge mere end to kolonner, mens du udfører tællingen af ​​rækker sammen med GROUP BY -klausulen, som følger.

>> VÆLG Bruger ,Alder,Internet side, TÆLLE (*) FRA data .Social GRUPPE AF Internet side;

Hvis vi vil tælle rækker, mens vi bruger WHERE -klausulen, der har nogle betingelser ved siden af ​​GROUP BY og COUNT (*), kan du også gøre det. Nedenstående forespørgsel henter og tæller registreringer af kolonner: 'Bruger', 'Websted' og 'Alder', hvor webstedets værdi kun er 'Instagram' og 'Snapchat'. Du kan se, at vi kun har 1 registrering for begge websteder for forskellige brugere.

>> VÆLG Bruger ,Internet side,Alder, TÆLLE (*) FRA data .Social HVOR Internet side='Instagram' Eller Internet side='Snapchat' GRUPPE AF Internet side,Alder;

MySQL COUNT (*) med GROUP BY og ORDER BY Clause

Lad os prøve GROUP BY- og ORDER BY -klausulerne sammen med COUNT () -metoden. Lad os hente og tælle tabellerækkerne 'sociale', mens vi arrangerer dataene i faldende rækkefølge ved hjælp af denne forespørgsel:

>> VÆLG Bruger ,Internet side,Alder, TÆLLE (*) FRA data .Social GRUPPE AF Alder BESTIL AF TÆLLE (*) DESC ;

Den nedenfor angivne forespørgsel tæller først rækkerne og viser derefter de eneste poster med COUNT større end 2 i stigende rækkefølge.

>> VÆLG Bruger ,Alder, TÆLLE (*) FRA data .Social GRUPPE AF Alder AT HAVE TÆLLE (*) > 2 BESTIL AF TÆLLE (*) ASC ;

Konklusion

Vi har gennemgået alle de mulige metoder til at tælle de matchende eller dublerede poster ved hjælp af metoden COUNT () med forskellige andre klausuler.