logo

MySQL Count() -funktio

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.

mysql count()

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ö:

mysql count()

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ö:

mysql count()

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()

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()

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:

mysql count()