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.
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:
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:
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 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 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į: