MySQL MariaDB

MySQL Count Matching Records med COUNT

MySQL Count Matching Records med COUNT

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

Kontrollera att du har MySQL installerat på ditt system. Öppna MySQL-kommandoradsklienten 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 COUNT () -metoden.

Vi har en tabell "social" i vårt scheman "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 angivna villkoret. För att kontrollera det totala antalet rader i en tabell, "social", prova nedanstående fråga. Vi har totalt 15 rader i tabellen enligt resultatet.

>> VÄLJ RÄKN (*) FRÅN data.social;

Ta en glimt av COUNT (*) -metoden medan du definierar vissa villkor. Vi måste hämta antalet rader där användarnamnet är detsamma som 'Mustafa'. Du kan se att vi bara har fyra poster för just detta namn.

>> VÄLJ RÄKN (*) FRÅN data.social WHERE User = '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 fyra poster för webbplatsen "Instagram".

>> VÄLJ RÄKN (*) FRÅN data.social WHERE Webbplats = 'Instagram';

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

>> VÄLJ RÄKN (*) FRÅN data.social WHERE Ålder> 18;

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

>> VÄLJ användare, webbplats från data.social WHERE Användare som 'M%';

MySQL COUNT (uttryck)

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

>> VÄLJ RÄKN (webbplats) FRÅN data.social WHERE Ålder = 25;

MySQL COUNT (DISTNCT-uttryck)

I MySQL används metoden COUNT (DISTINCT expression) för att summera icke-nollvärden och distinkta värden i kolumnens "expression". För att räkna ett tydligt antal icke-nollvärden i kolumnen 'Ålder' har vi använt frågan nedan. Du hittar 6 icke-null och distinkta poster för kolumnen 'Ålder' från tabellen 'social'. Det betyder att vi har totalt 6 personer med olika åldrar.

>> VÄLJ RÄKN (DISTINCT Age) FRÅN data.social;

MySQL COUNT (IF (uttryck))

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

>> VÄLJ RÄKN (OM (Ålder < 20,1,NULL)) 'Teenage', COUNT(IF(Age BETWEEN 20 AND  30,1,NULL)) 'Young', COUNT(IF(Age > 30,1, NULL)) 'Mogna' FROM-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. Om du till exempel 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, COUNT (*) FRÅN data.social GROUP BY 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, webbplats, COUNT (*) FRÅN data.social GROUP BY webbplats;

Om vi ​​vill räkna rader när WHERE-klausulen har vissa villkor i det tillsammans med GROUP BY och COUNT (*), kan du också göra det. Frågan nedan hämtar och räknar kolumner: 'Användare', 'Webbplats' och 'Ålder' där webbplatsens värde endast är 'Instagram' och 'Snapchat'. Du kan se att vi bara har en post för båda webbplatserna för olika användare.

>> VÄLJ användare, webbplats, ålder, COUNT (*) FRÅN data.social WHERE Webbplats = 'Instagram' eller Webbplats = 'Snapchat' GROUP BY Webbplats, ålder;

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

Låt oss prova GROUP BY- och ORDER BY-klausulerna tillsammans med COUNT () -metoden. Låt oss hämta och räkna raderna i tabellen "social" medan vi ordnar data i fallande ordning med den här frågan:

>> VÄLJ användare, webbplats, ålder, COUNT (*) FRÅN data.social GRUPP PÅ Ålder BESTÄLLNING PÅ RÄKN (*) DESK

Nedanstående fråga kommer först att räkna raderna och sedan visa de enda posterna som har COUNT större än 2 i stigande ordning.

>> VÄLJ användare, ålder, COUNT (*) FRÅN data.social GRUPP Efter ålder HAR RÄKNE (*)> 2 BESTÄLLNING EFTER RÄKN (*) ASC;

Slutsats

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

Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...
Portar med öppen källkod för kommersiella spelmotorer
Gratis, öppen källkod och plattformsmekaniska rekreationer kan användas för att spela gamla såväl som några av de ganska senaste speltitlarna. I den h...
Bästa kommandoradsspel för Linux
Kommandoraden är inte bara din största allierade när du använder Linux, det kan också vara källan till underhållning eftersom du kan använda den för a...