MySQL Count Matchande poster med COUNT

Mysql Count Matching Records With Count



Dataredundans uppstår av många skäl. Flera av de komplicerade uppgifterna du bör klara av när du arbetar med databassystem försöker upptäcka dubbla värden. För detta ändamål använder vi aggregeringsmetoden COUNT (). Metoden COUNT () returnerar summan av rader som finns i en specifik tabell. Funktionen COUNT () gör att du kan summera alla rader eller endast rader som matchar det definierade villkoret. I den här guiden får du veta hur du identifierar dubblettvärden för en eller kanske flera MySQL -kolumner med COUNT (). Metoden COUNT () har följande tre typer:

  • RÄKNA(*)
  • COUNT (uttryck)
  • COUNT (DISTINCT -uttryck)

Se till att du har MySQL installerat på ditt system. Öppna MySQL kommandorads klientskal och ange ditt lösenord för att fortsätta. Vi kommer att titta på några exempel för att räkna matchande värden med hjälp av metoden COUNT ().









Vi har en tabell 'social' i vårt schema 'data'. Låt oss kontrollera dess post via följande fråga.



>> VÄLJ * FRÅN data .Social;





MySQL COUNT (*)

COUNT (*) -metoden används för att räkna antalet rader som finns i tabellen eller räkna antalet rader enligt det givna villkoret. För att kontrollera det totala antalet rader i en tabell, prova 'sociala' nedanstående fråga. Vi har totalt 15 rader i tabellen enligt resultatet.

>> VÄLJ RÄKNA (*) FRÅN data .Social;



Ta en titt på metoden COUNT (*) medan du definierar några villkor. Vi måste hämta antalet rader där användarnamnet är detsamma som 'Mustafa'. Du kan se att vi bara har 4 poster för detta namn.

>> VÄLJ RÄKNA (*) FRÅN data .Social VAR Användare ='Mustafa';

För att hämta den totala summan av rader där användarnas webbplats är 'Instagram', prova nedanstående fråga. Tabellen 'social' har bara 4 poster för webbplatsen 'Instagram'.

>> VÄLJ RÄKNA (*) FRÅN data .Social VAR Hemsida='Instagram';

För att hämta det totala antalet rader där 'Ålder' är större än 18 är följande:

>> VÄLJ RÄKNA (*) FRÅN data .Social VAR Ålder> 18;

Låt oss hämta data från kolumnerna 'Användare' och 'Webbplats' från en tabell, där användarnamnet börjar med alfabetet 'M'. Prova instruktionen nedan på skalet.

>> VÄLJ Användare ,Hemsida FRÅN data .Social VAR Användare tycka om ’M%';

MySQL COUNT (uttryck)

I MySQL används metoden COUNT (expression) endast när du vill räkna värden som inte är Null för kolumnen 'expression'. 'Uttrycket' skulle vara namnet på vilken kolumn som helst. Låt oss ta ett enkelt exempel på det. Vi har bara räknat de icke-null-värdena för en kolumn 'Webbplats', som är relaterad till att kolumnen 'Ålder' har ett värde som motsvarar '25'. Ser! Vi har bara 4 icke-null-poster för användare som är 25 år och som använder webbplatser.

>> VÄLJ RÄKNA (Hemsida) FRÅN data .Social VAR Ålder= 25;

MySQL COUNT (DISTNCT -uttryck)

I MySQL används metoden COUNT (DISTINCT expression) för att summera icke-Null-värden och distinkta värden för kolumnen 'expression'. För att räkna ett distinkt antal icke-nullvärden i kolumnen 'Ålder' har vi använt nedanstående fråga. Du hittar 6 icke-null och distinkta poster av kolumnen 'Age' från tabellen 'social'. Det betyder att vi har totalt 6 personer i olika åldrar.

>> VÄLJ RÄKNA ( DISTINKT Ålder) FRÅN data .Social;

MySQL COUNT (IF (uttryck))

För stor tonvikt bör du slå samman COUNT () med flödeskontrollfunktioner. Till att börja med, för en del av uttrycket som används i metoden COUNT (), kan du använda IF () -funktionen. Det kan vara mycket användbart att göra detta för att ge en snabb uppdelning av informationen i en databas. Vi räknar antalet rader med olika åldersförhållanden och delar dem i tre olika kolumner, vilket kan sägas som kategorier. Först kommer COUNT (IF) att räkna raderna som har en ålder under 20 och spara det i en ny kolumn som heter 'Teenage'. Andra COUNT (IF) räknar raderna med åldrar mellan 20 och 30 medan de sparas i kolumnen 'Young'. För det tredje räknar den sista raderna med åldrar som är större än 30 och sparade i en kolumn 'Mogna'. Vi har 5 tonåringar, 9 unga och endast 1 mogen person i vårt register.

>> VÄLJ RÄKNA ( OM (Ålder< tjugo,1, NULL ))'Tonårs', RÄKNA ( OM (Ålder MELLAN tjugo OCH 30,1, NULL ))'Ung', RÄKNA ( OM (Ålder> 30,1, NULL ))'Mogna' FRÅN data .Social;

MySQL COUNT (*) med GROUP BY -klausul

GROUP BY -satsen är en SQL -instruktion som används för grupprader med samma värden. Det returnerar det totala antalet värden som finns i varje grupp. Till exempel, om du vill kontrollera varje användares nummer separat, måste du definiera kolumnen 'Användare' med GROUP BY -satsen medan du räknar poster för varje användare med COUNT (*).

>> VÄLJ Användare , RÄKNA (*) FRÅN data .Social GRUPP AV Användare ;

Du kan antingen välja mer än två kolumner medan du räknar rader tillsammans med GROUP BY -satsen enligt följande.

>> VÄLJ Användare ,Ålder,Hemsida, RÄKNA (*) FRÅN data .Social GRUPP AV Hemsida;

Om vi ​​vill räkna rader medan vi använder WHERE -satsen med vissa villkor i den vid sidan av GROUP BY och COUNT (*), kan du också göra det. Nedanstående fråga hämtar och räknar posterna för kolumner: 'Användare', 'Webbplats' och 'Ålder' där webbplatsens värde endast är 'Instagram' och 'Snapchat'. Du kan se att vi bara har 1 post för båda webbplatserna för olika användare.

>> VÄLJ Användare ,Hemsida,Ålder, RÄKNA (*) FRÅN data .Social VAR Hemsida='Instagram' Eller Hemsida='Snapchat' GRUPP AV Hemsida,Ålder;

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

Låt oss prova grupperna GROUP BY och ORDER BY tillsammans med COUNT () -metoden. Låt oss hämta och räkna raderna i tabellen 'sociala' medan vi ordnar data i fallande ordning med denna fråga:

>> VÄLJ Användare ,Hemsida,Ålder, RÄKNA (*) FRÅN data .Social GRUPP AV Ålder SORTERA EFTER RÄKNA (*) DESC ;

Den nedan angivna frågan räknar först raderna och visar sedan de enda posterna med COUNT större än 2 i stigande ordning.

>> VÄLJ Användare ,Ålder, RÄKNA (*) FRÅN data .Social GRUPP AV Ålder HAR RÄKNA (*) > 2 SORTERA EFTER RÄKNA (*) ASC ;

Slutsats

Vi har gått igenom alla möjliga metoder för att räkna matchande eller duplicera poster med hjälp av COUNT () -metoden med olika andra klausuler.