MySQL MariaDB

MySQL Count Matching Records with COUNT

MySQL Count Matching Records with COUNT

Zaradi več razlogov pride do presežka podatkov. Nekatere zapletene naloge, s katerimi se morate spoprijeti med delom s sistemi baz podatkov, poskušajo odkriti podvojene vrednosti. V ta namen bomo uporabili zbirno metodo COUNT (). Metoda COUNT () vrne vsoto vrstic v določeni tabeli. Funkcija COUNT () vam omogoča seštevanje vseh vrstic ali samo vrstic, ki ustrezajo opredeljenemu pogoju. V tem priročniku boste spoznali, kako prepoznati podvojene vrednosti za enega ali morda več stolpcev MySQL z uporabo COUNT (). Metoda COUNT () ima naslednje tri vrste:

Določite, ali imate v sistemu nameščen MySQL. Odprite lupino odjemalca ukazne vrstice MySQL in za nadaljevanje vnesite geslo. Ogledali si bomo nekaj primerov za štetje ujemajočih se vrednosti z uporabo metode COUNT ().

V naši shemi "podatki" imamo tabelo "social". Preverimo njegov zapis s pomočjo naslednje poizvedbe.

>> IZBERI * IZ podatkov.socialni;

Število MySQL (*)

Metoda COUNT (*) se uporablja za štetje števila vrstic, ki prebivajo v tabeli, ali štetje vrstic glede na dani pogoj. Če želite preveriti skupno število vrstic v tabeli, »družabno«, poskusite s spodnjo poizvedbo. Glede na rezultat imamo v tabeli skupaj 15 vrstic.

>> IZBERITE ŠTEVILO (*) IZ podatkov.socialni;

Oglejte si metodo COUNT (*), medtem ko definirate nekatere pogoje. Pridobiti moramo število vrstic, pri katerih je uporabniško ime enako kot 'Mustafa'. Vidite, da imamo samo 4 zapise za to posebno ime.

>> IZBERITE ŠTEVILO (*) IZ podatkov.social WHERE Uporabnik = 'Mustafa';

Če želite pridobiti skupno vsoto vrstic, kjer je spletno mesto uporabnikov "Instagram", poskusite s spodnjo poizvedbo. Tabela 'social' ima samo 4 zapise za spletno stran 'Instagram'.

>> IZBERITE ŠTEVILO (*) IZ podatkov.social WHERE Spletno mesto = 'Instagram';

Skupno število vrstic, pri katerih je "Starost" večje od 18, je na naslednji način:

>> IZBERI ŠTEVILO (*) IZ podatkov.socialno KJE Starost> 18;

Pridobimo podatke stolpcev 'Uporabnik' in 'Spletno mesto' iz tabele, kjer se Uporabniško ime začne z abecedo 'M'. Preizkusite spodnja navodila o lupini.

>> IZBERI uporabnika, spletno mesto IZ podatkov.social WHERE Uporabnik, kot je 'M%';

MySQL COUNT (izraz)

V MySQL se metoda COUNT (izraz) uporablja samo, če želite prešteti ne-nule vrednosti stolpca 'izraz'. 'Izraz' bi bilo ime katerega koli stolpca. Vzemimo preprost primer tega. Šteli smo le ne-nule vrednosti stolpca 'Spletno mesto', ki je povezan s stolpcem 'Starost' z vrednostjo, ki je enaka '25'. Glej! Za uporabnike, stare 25 let, ki uporabljajo spletna mesta, imamo samo 4 zapise, ki niso nujni.

>> IZBERITE ŠTEVILO (spletno mesto) IZ podatkov.socialno KJE Starost = 25;

MySQL COUNT (izraz DISTNCT)

V MySQL se metoda COUNT (izraz DISTINCT) uporablja za seštevanje ne-ničelnih vrednosti in ločenih vrednosti stolpca 'izraz'. Za štetje ločenega števila ne-ničelnih vrednosti v stolpcu "Starost" smo uporabili spodnjo poizvedbo. V tabeli "družabno" boste našli 6 neveljavnih in ločenih zapisov stolpca "Starost". To pomeni, da imamo skupaj 6 ljudi različnih starosti.

>> IZBERITE ŠTEVILO (DOSTOJNO starost) IZ podatkov.socialni;

MySQL COUNT (IF (izraz))

Za velik poudarek združite COUNT () s funkcijami nadzora pretoka. Za začetek lahko za del izraza, ki se uporablja v metodi COUNT (), uporabite funkcijo IF (). Morda je zelo koristno, če to storite za hitro razčlenitev informacij znotraj baze podatkov. Šteli bomo število vrstic z različnimi starostnimi pogoji in jih razdelili v tri različne stolpce, ki jih lahko rečemo kot kategorije. Najprej bo COUNT (IF) prešteval vrstice, stare manj kot 20 let, in to število shranil v nov stolpec z imenom 'Teenage'. Drugi COUNT (IF) šteje vrstice, stare med 20 in 30, hkrati pa jih shrani v stolpec "Young". Tretjič, zadnji šteje vrstice, starejše od 30 let, in shranjene v stolpec "Zrele". V našem zapisu je 5 najstnikov, 9 mladih in samo 1 zrela oseba.

>> IZBERI ŠTEVILO (ČE (starost < 20,1,NULL)) 'Teenage', COUNT(IF(Age BETWEEN 20 AND  30,1,NULL)) 'Young', COUNT(IF(Age > 30,1, NULL)) "Zrelo" IZ podatkov.socialni;

MySQL COUNT (*) s klavzulo GROUP BY

Stavek GROUP BY je navodilo SQL, ki se uporablja za skupinske vrstice z enakimi vrednostmi. Vrne skupno število vrednosti v vsaki skupini. Če želite na primer preveriti številko vsakega uporabnika posebej, morate med štetjem zapisov za vsakega uporabnika z COUNT (*) določiti stolpec 'Uporabnik' s stavkom GROUP BY.

>> IZBERI uporabnika, ŠTEVILO (*) OD podatkov.social GROUP BY User;

Med štetjem vrstic lahko skupaj s klavzulo GROUP BY izberete več kot dva stolpca, kot sledi.

>> IZBERITE uporabnika, starost, spletno mesto, COUNT (*) OD podatkov.social GROUP BY spletno mesto;

Če želimo šteti vrstice, medtem ko uporabljamo stavek WHERE, ki vsebuje nekaj pogojev poleg GROUP BY in COUNT (*), lahko to tudi storiš. Spodnja poizvedba bo prinesla in preštela zapise stolpcev: 'Uporabnik', 'Spletno mesto' in 'Starost', kjer je vrednost spletnega mesta samo 'Instagram' in 'Snapchat'. Vidite, imamo samo en zapis za obe spletni strani za različne uporabnike.

>> IZBERITE uporabnika, spletno mesto, starost, ŠTEVILO (*) OD podatkov.social WHERE Spletno mesto = 'Instagram' Ali Spletno mesto = 'Snapchat' SKUPINA PO spletnem mestu, starost;

MySQL COUNT (*) s klavzulo GROUP BY in ORDER BY

Preizkusimo klavzuli GROUP BY in ORDER BY skupaj z metodo COUNT (). Pridobimo in preštejmo vrstice tabele 'social', medtem ko podatke razporejamo po padajočem vrstnem redu s pomočjo te poizvedbe:

>> IZBERITE uporabnika, spletno mesto, starost, ŠTEVILO (*) OD podatkov.družabno SKUPINA PO STAROSTI PO ŠTEVILU (*) DESC;

Spodaj navedena poizvedba bo najprej preštela vrstice, nato pa prikazala edine zapise z COUNT več kot 2 v naraščajočem vrstnem redu.

>> IZBERI uporabnika, starost, ŠTEVILO (*) IZ podatkov.socialna SKUPINA PO STAROSTI ŠTEVILO (*)> 2 NAROČILO PO ŠTEVILKU (*) ASC;

Zaključek

Pregledali smo vse možne metode za štetje ujemajočih se ali podvojenih zapisov z uporabo metode COUNT () z različnimi drugimi stavki.

Najboljši Linux Distros za igre na srečo v letu 2021
Operacijski sistem Linux je daleč od prvotnega, preprostega, strežniškega videza. Ta OS se je v zadnjih letih izjemno izboljšal in se je zdaj razvil v...
Kako zajeti in pretakati svojo igralno sejo v Linuxu
V preteklosti je bilo igranje iger le hobi, sčasoma pa je igralniška industrija zabeležila veliko rast glede tehnologije in števila igralcev. Občinstv...
Najboljše igre z ročnim sledenjem
Oculus Quest je pred kratkim predstavil odlično idejo ročnega sledenja brez krmilnikov. Z vedno večjim številom iger in dejavnosti, ki izvajajo podpor...