logo

MySQL Count() funkcija

MySQL funkcija count() naudojama išraiškos skaičiui grąžinti. Tai leidžia suskaičiuoti visas arba tik kai kurias lentelės eilutes, kurios atitinka nurodytą sąlygą. Tai yra suvestinės funkcijos tipas, kurio grąžinimo tipas yra BIGINT. Ši funkcija grąžina 0, jei neranda jokių atitinkančių eilučių.

Skaičiavimo funkciją galime naudoti trimis formomis, kurios paaiškintos toliau:

loginis į eilutę
  • Skaičiavimas (*)
  • Skaičiavimas (išraiška)
  • Skaičius (skirtingas)

Leiskite mums išsamiai aptarti kiekvieną.

COUNT (*) Funkcija: Ši funkcija naudoja teiginį SELECT, kad pateiktų rezultatų rinkinio eilučių skaičių. Rezultatų rinkinyje yra visos Non-Null, Null ir dublikatų eilutės.

COUNT (išraiška) Funkcija: Ši funkcija grąžina rezultatų rinkinį be Null eilučių kaip išraiškos rezultato.

COUNT (skirtinga išraiška) Funkcija: Ši funkcija grąžina skirtingų eilučių skaičių be NULL reikšmių kaip išraiškos rezultato.

Sintaksė

Toliau pateikiama funkcijos COUNT() sintaksė:

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

Parametrų paaiškinimas

aggregate_expression: Jis nurodo stulpelį arba išraišką, kurio NON-NULL reikšmės bus skaičiuojamos.

lentelės_pavadinimas: Jame nurodomos lentelės, iš kurių norite gauti įrašus. Turi būti bent viena lentelė iš FROM.

KUR sąlygos: Tai neprivaloma. Jame nurodomos sąlygos, kurios turi būti įvykdytos, kad įrašai būtų atrinkti.

MySQL count() funkcijos pavyzdys

Apsvarstykite lentelę pavadinimu „darbuotojai“, kurioje yra šie duomenys.

mysql skaičius ()

Supraskime, kaip veikia count() funkcijos MySQL .

1 pavyzdys

Vykdykite šią užklausą, kuri naudoja funkciją SKAIČIUS (išraiška), kad apskaičiuotų bendrą darbuotojų vardų skaičių lentelėje:

mysql šou vartotojai
 mysql> SELECT COUNT(emp_name) FROM employees; 

Išvestis:

mysql skaičius ()

2 pavyzdys

Vykdykite šį teiginį, kuris grąžina visas darbuotojų lentelės eilutes, o WHERE sąlyga nurodo eilutes, kurių reikšmė stulpelyje emp_age yra didesnė nei 32:

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

Išvestis:

mysql skaičius ()

3 pavyzdys

Šiame teiginyje naudojama funkcija COUNT (skirtinga išraiška), kuri skaičiuoja Non-Null ir skirtingas eilutes stulpelyje emp_age:

 mysql> SELECT COUNT(DISTINCT emp_age) FROM employees; 

Išvestis:

mysql skaičius ()

MySQL Count() funkcija su GROUP BY sąlyga

Taip pat galime naudoti funkciją count() su sąlyga GROUP BY, kuri grąžina kiekvienos grupės elemento skaičių. Pavyzdžiui, šis teiginys pateikia darbuotojo skaičių kiekviename mieste:

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

Po sėkmingo vykdymo gausime tokį rezultatą:

mysql skaičius ()

MySQL Count() funkcija su HAVING ir ORDER BY sąlyga

Pažiūrėkime kitą sąlygą, kuri naudoja ORDER BY ir Having sąlygą su funkcija count(). Vykdykite šį teiginį, kuriame nurodomas bent dviejų vienodo amžiaus darbuotojo vardas, ir surūšiuokite juos pagal skaičiavimo rezultatą:

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

Šis teiginys pateiks toliau pateiktą išvestį:

mysql skaičius ()