MySQL count()-funktiota käytetään palauttamaan lausekkeen lukumäärä. Sen avulla voimme laskea kaikki rivit tai vain jotkin taulukon rivit, jotka vastaavat tiettyä ehtoa. Se on eräänlainen koostefunktio, jonka palautustyyppi on BIGINT. Tämä funktio palauttaa arvon 0, jos se ei löydä vastaavia rivejä.
Voimme käyttää laskentatoimintoa kolmessa muodossa, jotka selitetään alla:
nuhjuinen verkko
- Kreivi (*)
- Count (lauseke)
- Count (erillinen)
Keskustellaan jokaisesta yksityiskohtaisesti.
COUNT(*) Funktio: Tämä funktio palauttaa tulosjoukon rivien määrän SELECT-käskyn avulla. Tulosjoukko sisältää kaikki ei-nolla-, nolla- ja kaksoisrivit.
COUNT(lauseke) Funktio: Tämä funktio palauttaa tulosjoukon sisältämättä nollarivejä lausekkeen tuloksena.
COUNT(erillinen lauseke) Funktio: Tämä funktio palauttaa erillisten rivien määrän sisältämättä NULL-arvoja lausekkeen tuloksena.
Syntaksi
Seuraava on COUNT()-funktion syntaksi:
SELECT COUNT (aggregate_expression) FROM table_name [WHERE conditions];
Parametrien selitys
aggregate_expression: Se määrittää sarakkeen tai lausekkeen, jonka EI-NULL-arvot lasketaan.
taulukon_nimi: Se määrittää taulukot, joista haluat hakea tietueita. FROM-lauseessa on oltava vähintään yksi taulukko.
WHERE ehdot: Se on valinnainen. Se määrittelee ehdot, jotka on täytettävä, jotta tietueet voidaan valita.
MySQL count()-funktioesimerkki
Harkitse taulukkoa nimeltä 'työntekijät', joka sisältää seuraavat tiedot.
Ymmärrämme kuinka count()-funktiot toimivat MySQL .
Esimerkki1
Suorita seuraava kysely, joka laskee taulukossa olevien työntekijöiden nimen kokonaismäärän COUNT(lauseke) -funktiolla:
merkkijono päivämäärään
mysql> SELECT COUNT(emp_name) FROM employees;
Lähtö:
Esimerkki2
Suorita seuraava käsky, joka palauttaa kaikki työntekijätaulukon rivit, ja WHERE-lause määrittää rivit, joiden arvo sarakkeessa emp_age on suurempi kuin 32:
mysql> SELECT COUNT(*) FROM employees WHERE emp_age>32;
Lähtö:
Esimerkki3
Tämä lauseke käyttää COUNT (erillinen lauseke) -funktiota, joka laskee ei-nolla- ja erilliset rivit sarakkeessa emp_age:
mysql> SELECT COUNT(DISTINCT emp_age) FROM employees;
Lähtö:
MySQL Count() -funktio, jossa on GROUP BY -lause
Voimme myös käyttää count()-funktiota GROUP BY -lauseen kanssa, joka palauttaa kunkin ryhmän elementin määrän. Esimerkiksi seuraava lauseke palauttaa kunkin kaupungin työntekijän määrän:
mysql> SELECT emp_name, city, COUNT(*) FROM employees GROUP BY city;
Onnistuneen suorituksen jälkeen saamme seuraavanlaisen tuloksen:
MySQL Count() -funktio, jossa on HAVING- ja ORDER BY -lause
Katsotaanpa toinen lause, joka käyttää ORDER BY- ja Having-lausetta count()-funktion kanssa. Suorita seuraava lauseke, joka antaa vähintään kahden saman ikäisen työntekijän nimen ja lajittelee heidät laskennan tuloksen perusteella:
mikä on monitorini koko
mysql> SELECT emp_name, emp_age, COUNT(*) FROM employees GROUP BY emp_age HAVING COUNT(*)>=2 ORDER BY COUNT(*);
Tämä lausunto antaa lopputuloksen seuraavasti: