MySQL MariaDB

MySQL Count Matching Records med COUNT

MySQL Count Matching Records med COUNT

Dataredundans oppstår av mange grunner. Flere av de kompliserte oppgavene du bør takle mens du arbeider med databasesystemer, prøver å oppdage duplikatverdier. For dette formålet bruker vi COUNT () -aggregatmetoden. COUNT () -metoden returnerer summen av rader som ligger i en bestemt tabell. COUNT () -funksjonen lar deg summere alle rader eller bare rader som samsvarer med den definerte tilstanden. I denne guiden 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:

Forsikre deg om at du har MySQL installert på systemet ditt. Åpne MySQL kommandolinjeklientskall og skriv inn passordet ditt for å fortsette. Vi vil se på noen eksempler for å telle samsvarende verdier ved hjelp av COUNT () -metoden.

Vi har en tabell 'sosial' i skjemaets 'data'. La oss sjekke posten via følgende spørsmål.

>> VELG * FRA data.sosial;

MySQL-TELLING (*)

COUNT (*) -metoden brukes til å telle antall rader som ligger i tabellen eller telle antall rader i henhold til gitt tilstand. For å sjekke totalt antall rader i en tabell, prøv 'sosial' spørringen nedenfor. Vi har totalt 15 rader i tabellen i henhold til resultatet.

>> VELG TELL (*) 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.

>> VELG TELL (*) FRA data.sosial WHERE bruker = 'Mustafa';

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

>> VELG TELL (*) FRA data.sosialt WHERE nettsted = 'Instagram';

Å hente totalt antall rader der 'Alderen' er større enn 18 er som følger:

>> VELG TELL (*) FRA data.sosial WHERE Alder> 18;

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

>> VELG bruker, nettsted FRA data.sosial WHERE Bruker som 'M%';

MySQL COUNT (uttrykk)

I MySQL brukes COUNT (uttrykk) -metoden bare når du vil telle verdier som ikke er null 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 telt ikke-nullverdiene til en kolonne 'Nettsted', som er relatert til kolonnen 'Alder' som har en verdi som tilsvarer '25'. Se! Vi har bare 4 poster som ikke er null for brukere som har fylt 25 år, og som bruker nettsteder.

>> VELG TELL (nettsted) FRA data.sosial WHERE Alder = 25;

MySQL COUNT (DISTNCT-uttrykk)

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

>> VELG TELL (DISTINCT Age) 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 i en database. Vi vil telle antall rader med forskjellige aldersbetingelser og dele dem i tre forskjellige kolonner, som kan sies som kategorier. Først vil COUNT (IF) telle radene som er under 20 år og lagre denne tellingen i en ny kolonne kalt 'Teenage'. Second COUNT (IF) teller radene i alderen 20 til 30 mens den lagres i kolonnen "Young". For det tredje teller de siste radene som er eldre enn 30 år og lagret i en kolonne 'Moden'. Vi har 5 tenåringer, 9 unge og bare 1 moden person i vår rekord.

>> VELG TELL (HVIS (Alder < 20,1,NULL)) 'Teenage', COUNT(IF(Age BETWEEN 20 AND  30,1,NULL)) 'Young', COUNT(IF(Age > 30,1, NULL)) 'Modne' FRA data.sosial;

MySQL COUNT (*) med GROUP BY-klausul

GROUP BY-setningen er en SQL-instruksjon som bruker for grupperader med de samme verdiene. Den returnerer det totale antall verdier som ligger i hver gruppe. Hvis du for eksempel vil sjekke hver brukeres nummer separat, må du definere kolonnen 'Bruker' med GROUP BY-setningen mens du teller poster for hver bruker med COUNT (*).

>> VELG bruker, TELL (*) FRA data.sosial GROUP BY bruker;

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

>> VELG Bruker, Alder, Nettsted, ANTALL (*) FRA data.sosialt GROUP BY Nettsted;

Hvis vi vil telle rader mens vi bruker WHERE-setningen med noen betingelser i den sammen med GROUP BY og COUNT (*), kan du også gjøre det. Spørringen nedenfor henter og teller postene til kolonnene: 'Bruker', 'Nettsted' og 'Alder' der nettstedsverdien bare er 'Instagram' og 'Snapchat'. Du kan se at vi bare har 1 rekord for begge nettsteder for forskjellige brukere.

>> VELG Bruker, Nettsted, Alder, ANTALL (*) FRA data.sosialt WHERE Nettsted = 'Instagram' Eller Nettsted = 'Snapchat' GROUP BY Nettsted, Alder;

MySQL COUNT (*) med GROUP BY og ORDER BY-klausul

La oss prøve klausulene GROUP BY og ORDER BY sammen med COUNT () -metoden. La oss hente og telle radene i tabellen "sosial" mens vi ordner dataene i synkende rekkefølge ved hjelp av dette spørsmålet:

>> VELG bruker, nettsted, alder, COUNT (*) FRA data.sosial GRUPPE Etter alder BESTILLING PÅ LAND (*) DESK;

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

>> VELG bruker, alder, ANTALL (*) FRA data.sosial GRUPPE Etter alder HAR TELL (*)> 2 BESTILLING TIL COUNT (*) ASC;

Konklusjon

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

Hvordan øke FPS i Linux?
FPS står for Bilder per sekund. FPSs oppgave er å måle bildefrekvensen i videoavspilling eller spillprestasjoner. Med enkle ord betegnes antall uavbru...
Topp Oculus App Lab-spill
Hvis du er Oculus-hodesettinnehaver, må du være klar over sideloading. Sidelading er prosessen med å installere ikke-butikkinnhold på hodesettet. Side...
Topp 10 spill å spille på Ubuntu
Windows-plattformen har vært en av de dominerende plattformene for spill på grunn av den enorme andelen spill som utvikles i dag for å støtte Windows ...