Funkce count() MySQL se používá k vrácení počtu výrazů. Umožňuje nám spočítat všechny řádky nebo jen některé řádky tabulky, které odpovídají zadané podmínce. Je to typ agregační funkce, jejíž návratový typ je BIGINT. Tato funkce vrátí 0, pokud nenajde žádné odpovídající řádky.
Funkci počítání můžeme použít ve třech formách, které jsou vysvětleny níže:
- Počet (*)
- počítat (výraz)
- Počet (výrazný)
Pojďme diskutovat o každém podrobně.
COUNT(*) Funkce: Tato funkce používá příkaz SELECT k vrácení počtu řádků v sadě výsledků. Sada výsledků obsahuje všechny řádky Non-Null, Null a duplikáty.
COUNT(výraz) Funkce: Tato funkce vrátí sadu výsledků, aniž by jako výsledek výrazu obsahovala řádky Null.
vyhledávání bfs
COUNT(odlišný výraz) Funkce: Tato funkce vrací počet odlišných řádků, aniž by jako výsledek výrazu obsahovala hodnoty NULL.
Syntax
Následuje syntaxe funkce COUNT():
SELECT COUNT (aggregate_expression) FROM table_name [WHERE conditions];
Vysvětlení parametrů
agregovaný_výraz: Určuje sloupec nebo výraz, jehož hodnoty NON-NULL se budou počítat.
název_tabulky: Určuje tabulky, ze kterých chcete načíst záznamy. V klauzuli FROM musí být uvedena alespoň jedna tabulka.
KDE podmínky: Je to nepovinné. Specifikuje podmínky, které musí být splněny pro výběr záznamů.
Příklad funkce MySQL count().
Zvažte tabulku s názvem 'zaměstnanci', která obsahuje následující data.
Pojďme pochopit, jak fungují funkce count(). MySQL .
Příklad1
Proveďte následující dotaz, který používá funkci COUNT(výraz) k výpočtu celkového počtu jmen zaměstnanců dostupných v tabulce:
char a int java
mysql> SELECT COUNT(emp_name) FROM employees;
Výstup:
Příklad2
Proveďte následující příkaz, který vrátí všechny řádky z tabulky zaměstnanců a klauzule WHERE určuje řádky, jejichž hodnota ve sloupci emp_age je větší než 32:
mysql> SELECT COUNT(*) FROM employees WHERE emp_age>32;
Výstup:
Příklad3
Tento příkaz používá funkci COUNT(distinct expression), která počítá nenulové a odlišné řádky ve sloupci emp_age:
mysql> SELECT COUNT(DISTINCT emp_age) FROM employees;
Výstup:
Funkce MySQL Count() s klauzulí GROUP BY
Můžeme také použít funkci count() s klauzulí GROUP BY, která vrací počet prvku v každé skupině. Například následující příkaz vrátí počet zaměstnanců v každém městě:
mysql> SELECT emp_name, city, COUNT(*) FROM employees GROUP BY city;
Po úspěšném provedení získáme výsledek, jak je uvedeno níže:
Funkce MySQL Count() s klauzulí HAVING a ORDER BY
Podívejme se na další klauzuli, která používá klauzuli ORDER BY a Having s funkcí count(). Proveďte následující příkaz, který uvede jméno zaměstnance, který má alespoň dva stejné věky, a seřadí je na základě výsledku počítání:
mysql> SELECT emp_name, emp_age, COUNT(*) FROM employees GROUP BY emp_age HAVING COUNT(*)>=2 ORDER BY COUNT(*);
Toto prohlášení poskytne výstup jako níže: