MySQL Count Matching Records With COUNT

Mysql Count Matching Records With Count



Dataredundans oppstår av mange årsaker. Flere av de kompliserte oppgavene du bør takle mens du arbeider med databasesystemer, prøver å oppdage dupliserte verdier. For dette formålet bruker vi COUNT () -metoden. Metoden COUNT () returnerer summen av radene i en bestemt tabell. COUNT () -funksjonen lar deg summere alle rader eller bare rader som samsvarer med betingelsen som er definert. I denne veiledningen får du vite hvordan du identifiserer dupliserte verdier for en eller kanskje flere MySQL -kolonner ved hjelp av COUNT (). COUNT () -metoden har følgende tre typer:

  • TELLE(*)
  • COUNT (uttrykk)
  • COUNT (DISTINCT uttrykk)

Gjør det klart at du har MySQL installert på systemet ditt. Åpne MySQL kommandolinjeklientskall og skriv inn passordet ditt for å fortsette. Vi skal se på noen eksempler for å telle matchende verdier ved hjelp av metoden COUNT ().









Vi har en tabell 'sosial' i skjemaet 'data'. La oss sjekke posten via følgende spørring.



>> PLUKKE UT * FRA data .Sosial;





MySQL COUNT (*)

TELLING (*) metoden brukes til å telle antall rader i tabellen eller telle antall rader i henhold til den gitte tilstanden. For å sjekke det totale antallet rader i en tabell, prøv 'sosialt' spørringen nedenfor. Vi har totalt 15 rader i tabellen i henhold til resultatet.

>> PLUKKE UT TELLE (*) FRA data .Sosial;



Ta et glimt av COUNT (*) -metoden mens du definerer noen forhold. Vi må hente antall rader der brukernavnet er det samme som ‘Mustafa’. Du kan se at vi bare har 4 poster for dette navnet.

>> PLUKKE UT TELLE (*) FRA data .Sosial HVOR Bruker ='Mustafa';

For å hente den totale summen av rader der brukerens nettsted er 'Instagram', kan du prøve spørringen nedenfor. Tabellen 'sosial' har bare 4 poster for nettstedet 'Instagram'.

>> PLUKKE UT TELLE (*) FRA data .Sosial HVOR Nettsted='Instagram';

For å hente det totale antallet rader der ‘Alderen’ er større enn 18 er som følger:

>> PLUKKE UT TELLE (*) FRA data .Sosial HVOR Alder> 18;

La oss hente dataene i kolonnene 'Bruker' og 'Nettsted' fra en tabell, der brukernavnet begynner med alfabetet 'M'. Prøv instruksjonene nedenfor på skallet.

>> PLUKKE UT Bruker ,Nettsted FRA data .Sosial HVOR Bruker som ‘M.%';

MySQL COUNT (uttrykk)

I MySQL brukes COUNT (uttrykk) -metoden bare når du vil telle ikke-Null-verdier i kolonnen 'uttrykk'. ‘Uttrykket’ vil være navnet på en hvilken som helst kolonne. La oss ta et enkelt eksempel på det. Vi har bare talt de ikke-nullverdiene til kolonnen 'Nettsted', som er relatert til at kolonnen 'Alder' har en verdi som tilsvarer '25'. Se! Vi har bare 4 ikke-null-poster for brukere som er 25 år gamle og som bruker nettsteder.

>> PLUKKE UT TELLE (Nettsted) FRA data .Sosial HVOR Alder= 25;

MySQL COUNT (DISTNCT -uttrykk)

I MySQL brukes metoden COUNT (DISTINCT expression) for å summere ikke-Null-verdier og forskjellige verdier for kolonnen 'uttrykk'. For å telle et tydelig antall ikke-nullverdier i kolonnen ‘Alder’ har vi brukt spørringen nedenfor. Du finner 6 ikke-null og distinkte registreringer av kolonnen ‘Alder’ fra tabellen ‘sosial’. Dette betyr at vi har totalt 6 personer i forskjellige aldre.

>> PLUKKE UT TELLE ( DISTINKT Alder) FRA data .Sosial;

MySQL COUNT (IF (uttrykk))

For stor vekt bør du slå sammen COUNT () med flytkontrollfunksjoner. For det første, for en del av uttrykket som brukes i COUNT () -metoden, kan du bruke IF () -funksjonen. Det kan være veldig nyttig å gjøre dette for å gi en rask oversikt over informasjonen inne i en database. Vi teller antall rader med forskjellige aldersforhold og deler dem i tre forskjellige kolonner, som kan sies som kategorier. Først vil COUNT (IF) telle radene som har en alder under 20 år og lagre dette tallet i en ny kolonne som heter 'Teenage'. Second COUNT (IF) teller radene som har en alder mellom 20 og 30 mens du lagrer den i kolonnen 'Young'. For det tredje teller den siste radene med aldre større enn 30 og lagret i kolonnen 'Eldre'. Vi har 5 tenåringer, 9 unge og bare 1 moden person i vår rekord.

>> PLUKKE UT TELLE ( HVIS (Alder< tjue,1, NULL ))'Teenage', TELLE ( HVIS (Alder MELLOM tjue OG 30,1, NULL ))'Ung', TELLE ( HVIS (Alder> 30,1, NULL ))'Moden' FRA data .Sosial;

MySQL COUNT (*) med GROUP BY klausul

GROUP BY -setningen er en SQL -instruksjon som brukes for grupperader med samme verdier. Den returnerer det totale antallet verdier som finnes i hver gruppe. For eksempel, hvis du vil kontrollere hver brukers nummer separat, må du definere kolonnen 'Bruker' med GROUP BY -setningen mens du teller poster for hver bruker med COUNT (*).

>> PLUKKE UT Bruker , TELLE (*) FRA data .Sosial GRUPPE AV Bruker ;

Du kan enten velge mer enn to kolonner mens du utfører tellingen av rader sammen med GROUP BY -setningen, som følger.

>> PLUKKE UT Bruker ,Alder,Nettsted, TELLE (*) FRA data .Sosial GRUPPE AV Nettsted;

Hvis vi vil telle rader mens vi bruker WHERE -leddet med noen betingelser i tillegg til GROUP BY og COUNT (*), kan du også gjøre det. Søket nedenfor vil hente og telle postene for kolonner: 'Bruker', 'Nettsted' og 'Alder' der nettverksverdien bare er 'Instagram' og 'Snapchat'. Du kan se at vi bare har 1 post for begge nettstedene for forskjellige brukere.

>> PLUKKE UT Bruker ,Nettsted,Alder, TELLE (*) FRA data .Sosial HVOR Nettsted='Instagram' Eller Nettsted='Snapchat' GRUPPE AV Nettsted,Alder;

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

La oss prøve GROUP BY- og ORDER BY -leddene sammen med COUNT () -metoden. La oss hente og telle radene i tabellen ‘sosiale’ mens vi ordner dataene i synkende rekkefølge ved å bruke denne spørringen:

>> PLUKKE UT Bruker ,Nettsted,Alder, TELLE (*) FRA data .Sosial GRUPPE AV Alder REKKEFØLGE ETTER TELLE (*) DESC ;

Den nedenfor angitte spørringen vil først telle radene, og deretter vise de eneste postene som har COUNT større enn 2 i stigende rekkefølge.

>> PLUKKE UT Bruker ,Alder, TELLE (*) FRA data .Sosial GRUPPE AV Alder HAR TELLE (*) > 2 REKKEFØLGE ETTER TELLE (*) ASC ;

Konklusjon

Vi har gått gjennom alle mulige metoder for å telle matchende eller dupliserte poster ved hjelp av COUNT () -metoden med forskjellige andre ledd.