MySQL Count() funksjon

MySQL Count() funksjon

MySQL count()-funksjonen brukes til å returnere antallet av et uttrykk. Den lar oss telle alle rader eller bare noen rader i tabellen som samsvarer med en spesifisert betingelse. Det er en type aggregert funksjon hvis returtype er BIGINT. Denne funksjonen returnerer 0 hvis den ikke finner noen samsvarende rader.

Vi kan bruke tellefunksjonen i tre former, som er forklart nedenfor:

  • Telle (*)
  • Antall (uttrykk)
  • Antall (distinkt)

La oss diskutere hver enkelt i detalj.

COUNT(*) funksjon: Denne funksjonen bruker SELECT-setningen til å returnere antall rader i et resultatsett. Resultatsettet inneholder alle Non-Null-, Null- og duplikatrader.

COUNT(uttrykk) funksjon: Denne funksjonen returnerer resultatsettet uten å inneholde Null-rader som et resultat av et uttrykk.

COUNT(distinkt uttrykk) Funksjon: Denne funksjonen returnerer antallet distinkte rader uten å inneholde NULL-verdier som et resultat av uttrykket.

Syntaks

Følgende er syntaksen til COUNT()-funksjonen:

 SELECT COUNT (aggregate_expression) FROM table_name [WHERE conditions];  

Parameterforklaring

samlet_uttrykk: Den spesifiserer kolonnen eller uttrykket hvis NON-NULL-verdier skal telles.

tabellnavn: Den spesifiserer tabellene der du vil hente poster. Det må være minst én tabell oppført i FROM-leddet.

WHERE forhold: Det er valgfritt. Den spesifiserer betingelsene som må være oppfylt for at postene skal velges.

MySQL count() funksjon eksempel

Tenk på en tabell kalt 'ansatte' som inneholder følgende data.

mysql count()

La oss forstå hvordan count()-funksjoner fungerer i MySQL .

Eksempel 1

Utfør følgende spørring som bruker funksjonen COUNT(uttrykk) til å beregne det totale antallet ansattes navn som er tilgjengelig i tabellen:

 mysql> SELECT COUNT(emp_name) FROM employees;  

Produksjon:

mysql count()

Eksempel 2

Utfør følgende setning som returnerer alle rader fra ansatttabellen og WHERE-leddet spesifiserer radene hvis verdi i kolonnen emp_age er større enn 32:

 mysql> SELECT COUNT(*) FROM employees WHERE emp_age>32;  

Produksjon:

mysql count()

Eksempel 3

Denne setningen bruker funksjonen COUNT(distinkt uttrykk) som teller Non-Null og distinkte rader i kolonnen emp_age:

 mysql> SELECT COUNT(DISTINCT emp_age) FROM employees;  

Produksjon:

mysql count()

MySQL Count()-funksjon med GROUP BY-klausul

Vi kan også bruke funksjonen count() med GROUP BY-leddet som returnerer antallet av elementet i hver gruppe. For eksempel returnerer følgende setning antall ansatte i hver by:

 mysql> SELECT emp_name, city, COUNT(*) FROM employees GROUP BY city;  

Etter vellykket utførelse vil vi få resultatet som nedenfor:

mysql count()

MySQL Count()-funksjon med HAVING og ORDER BY-klausul

La oss se en annen klausul som bruker ORDER BY og Having-ledd med funksjonen count(). Utfør følgende setning som gir den ansatte navn som har minst to alder like og sorterer dem basert på telleresultatet:

 mysql> SELECT emp_name, emp_age, COUNT(*) FROM employees GROUP BY emp_age HAVING COUNT(*)>=2 ORDER BY COUNT(*);  

Denne uttalelsen vil gi utdata som nedenfor:

mysql count()