Funkcia MySQL count() sa používa na vrátenie počtu výrazov. Umožňuje nám spočítať všetky riadky alebo len niektoré riadky tabuľky, ktoré zodpovedajú zadanej podmienke. Je to typ agregovanej funkcie, ktorej návratový typ je BIGINT. Táto funkcia vráti 0, ak nenájde žiadne zodpovedajúce riadky.
Funkciu počítania môžeme použiť v troch formách, ktoré sú vysvetlené nižšie:
- Počet (*)
- počet (výraz)
- Počet (výrazné)
Poďme diskutovať o každom podrobne.
COUNT(*) Funkcia: Táto funkcia používa príkaz SELECT na vrátenie počtu riadkov v sade výsledkov. Sada výsledkov obsahuje všetky riadky, ktoré nemajú hodnotu Null, Null a duplikáty.
Funkcia COUNT(výraz): Táto funkcia vráti množinu výsledkov bez toho, aby obsahovala riadky Null ako výsledok výrazu.
COUNT(odlišný výraz) Funkcia: Táto funkcia vráti počet odlišných riadkov bez toho, aby obsahovala hodnoty NULL ako výsledok výrazu.
radenie java poľa
Syntax
Nasleduje syntax funkcie COUNT():
SELECT COUNT (aggregate_expression) FROM table_name [WHERE conditions];
Vysvetlenie parametrov
agregovaný_výraz: Určuje stĺpec alebo výraz, ktorého hodnoty NON-NULL sa budú počítať.
char a int java
table_name: Špecifikuje tabuľky, z ktorých chcete získať záznamy. V klauzule FROM musí byť uvedená aspoň jedna tabuľka.
KDE podmienky: Je to voliteľné. Špecifikuje podmienky, ktoré musia byť splnené pre výber záznamov.
Príklad funkcie MySQL count().
Predstavte si tabuľku s názvom „zamestnanci“, ktorá obsahuje nasledujúce údaje.
Poďme pochopiť, ako fungujú funkcie count(). MySQL .
Príklad 1
Vykonajte nasledujúci dotaz, ktorý používa funkciu COUNT(výraz) na výpočet celkového počtu mien zamestnancov dostupných v tabuľke:
mysql> SELECT COUNT(emp_name) FROM employees;
Výkon:
Príklad2
kruskalov algoritmus
Vykonajte nasledujúci príkaz, ktorý vráti všetky riadky z tabuľky zamestnancov a klauzula WHERE určuje riadky, ktorých hodnota v stĺpci emp_age je väčšia ako 32:
mysql> SELECT COUNT(*) FROM employees WHERE emp_age>32;
Výkon:
Príklad 3
Tento príkaz používa funkciu COUNT (odlišný výraz), ktorá počíta nenulové a odlišné riadky v stĺpci emp_age:
mysql> SELECT COUNT(DISTINCT emp_age) FROM employees;
Výkon:
'bankov' algoritmus'
Funkcia MySQL Count() s klauzulou GROUP BY
Môžeme použiť aj funkciu count() s klauzulou GROUP BY, ktorá vracia počet prvkov v každej skupine. Napríklad nasledujúci príkaz vráti počet zamestnancov v každom meste:
mysql> SELECT emp_name, city, COUNT(*) FROM employees GROUP BY city;
Po úspešnom vykonaní dostaneme výsledok, ako je uvedené nižšie:
Funkcia MySQL Count() s klauzulou HAVING a ORDER BY
Pozrime sa na ďalšiu klauzulu, ktorá používa klauzulu ORDER BY a Having s funkciou count(). Vykonajte nasledujúci príkaz, ktorý uvedie meno zamestnanca, ktorý má aspoň dva rovnaké vekové skupiny, a zoradí ich na základe výsledku počítania:
mysql> SELECT emp_name, emp_age, COUNT(*) FROM employees GROUP BY emp_age HAVING COUNT(*)>=2 ORDER BY COUNT(*);
Toto vyhlásenie poskytne výstup, ako je uvedené nižšie: