Število MySQL se ujema z zapisi z COUNT

Mysql Count Matching Records With Count



Odveč podatkov se pojavlja iz več razlogov. Več zapletenih nalog, s katerimi se morate spoprijeti pri delu s sistemi zbirk podatkov, poskuša odkriti podvojene vrednosti. V ta namen bomo uporabili agregatno 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 definiranemu pogoju. V tem priročniku boste izvedeli, kako prepoznati podvojene vrednosti za enega ali morda več stolpcev MySQL z uporabo COUNT (). Metoda COUNT () ima naslednje tri vrste:

  • COUNT (*)
  • COUNT (izraz)
  • COUNT (izraz DISTINCT)

Določite, da 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 metodo COUNT ().









V shemi 'podatki' imamo tabelo 'social'. Preverimo njen zapis z naslednjo poizvedbo.



>> IZBERI * IZ podatkov .Društvena;





ŠTEVILO MySQL (*)

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

>> IZBERI COUNT (*) IZ podatkov .Društvena;



Med določanjem nekaterih pogojev si oglejte metodo COUNT (*). Pridobiti moramo število vrstic, kjer je uporabniško ime enako kot 'Mustafa'. Vidite, da imamo za to ime samo 4 zapise.

>> IZBERI COUNT (*) IZ podatkov .Društvena KJE 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'.

>> IZBERI COUNT (*) IZ podatkov .Društvena KJE Spletna stran='Instagram';

Če želite pridobiti skupno število vrstic, kjer je starost večja od 18, je naslednje:

>> IZBERI COUNT (*) IZ podatkov .Društvena KJE Starost> 18;

Vzemimo podatke iz stolpcev 'Uporabnik' in 'Spletno mesto' iz tabele, kjer se uporabniško ime začne z abecedo 'M'. Poskusite spodnja navodila na lupini.

>> IZBERI Uporabnik ,Spletna stran IZ podatkov .Društvena KJE Uporabnik kot 'M%';

ŠTEVILO MySQL (izraz)

V MySQL se metoda COUNT (izraz) uporablja le, če želite šteti vrednosti, ki niso null stolpca 'izraz'. 'Izraz' bi bil ime katerega koli stolpca. Vzemimo preprost primer tega. Preštevali smo samo ničelne vrednosti stolpca »Spletno mesto«, ki je povezano s stolpcem »Starost«, ki ima vrednost, ki je enaka 25. Glej! Za uporabnike, stare 25 let, ki uporabljajo spletna mesta, imamo samo 4 zapise, ki niso ničelni.

>> IZBERI COUNT (Spletna stran) IZ podatkov .Društvena KJE Starost= 25;

MySQL COUNT (izraz DISTNCT)

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

>> IZBERI COUNT ( IZRAZIT Starost) IZ podatkov .Društvena;

ŠTEVILO MySQL (IF (izraz))

Za velik poudarek morate združiti COUNT () s funkcijami nadzora pretoka. Za začetek, za del izraza, ki se uporablja v metodi COUNT (), lahko uporabite funkcijo IF (). To je lahko zelo koristno, če želite zagotoviti hitro razčlenitev informacij v zbirki podatkov. Šteli bomo število vrstic z različnimi starostnimi pogoji in jih razdelili v tri različne stolpce, kar 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 od 20 do 30 let, in jih shrani v stolpec »Mladi«. Tretjič, zadnji šteje vrstice, starejše od 30 let, in shranjene v stolpec »Zreli«. V evidenci imamo 5 najstnikov, 9 mladih in le 1 zrelo osebo.

>> IZBERI COUNT ( ČE (Starost< dvajset,1, NIČ ))'Najstnik', COUNT ( ČE (Starost MED dvajset IN 30,1, NIČ ))'Mladi', COUNT ( ČE (Starost> 30,1, NIČ ))'Zrel' IZ podatkov .Društvena;

MySQL COUNT (*) z določbo GROUP BY

Stavek GROUP BY je ukaz SQL, ki uporablja za skupine vrstic z enakimi vrednostmi. Vrne skupno število vrednosti v vsaki skupini. Na primer, če želite ločeno preveriti številko vsakega uporabnika, morate stolpec »Uporabnik« določiti s stavkom GROUP BY, medtem ko štejete zapise za vsakega uporabnika z COUNT (*).

>> IZBERI Uporabnik , COUNT (*) IZ podatkov .Društvena GROUP BY Uporabnik ;

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

>> IZBERI Uporabnik ,Starost,Spletna stran, COUNT (*) IZ podatkov .Društvena GROUP BY Spletna stran;

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

>> IZBERI Uporabnik ,Spletna stran,Starost, COUNT (*) IZ podatkov .Društvena KJE Spletna stran='Instagram' Or Spletna stran='Snapchat' GROUP BY Spletna stran,Starost;

MySQL COUNT (*) z določbo 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 razporedimo po padajočem vrstnem redu s to poizvedbo:

>> IZBERI Uporabnik ,Spletna stran,Starost, COUNT (*) IZ podatkov .Društvena GROUP BY Starost NAROČI PO COUNT (*) DESC ;

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

>> IZBERI Uporabnik ,Starost, COUNT (*) IZ podatkov .Društvena GROUP BY Starost IMATI COUNT (*) > 2 NAROČI PO COUNT (*) ASC ;

Zaključek

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