Функцията MySQL count() се използва за връщане на броя на израз. Позволява ни да преброим всички редове или само някои редове от таблицата, които отговарят на определено условие. Това е тип агрегатна функция, чийто тип на връщане е BIGINT. Тази функция връща 0, ако не намери съответстващи редове.
Можем да използваме функцията за броене в три форми, които са обяснени по-долу:
- Броя (*)
- Брой (израз)
- Брой (отделно)
Нека обсъдим всеки подробно.
Функция COUNT(*): Тази функция използва оператора SELECT, за да върне броя на редовете в набор от резултати. Резултатният набор съдържа всички Non-Null, Null и дублиращи се редове.
COUNT(израз) функция: Тази функция връща резултатния набор, без да съдържа нулеви редове като резултат от израз.
късмет
Функция COUNT(отделен израз): Тази функция връща броя на различни редове, без да съдържа NULL стойности като резултат от израза.
Синтаксис
По-долу е синтаксисът на функцията COUNT():
SELECT COUNT (aggregate_expression) FROM table_name [WHERE conditions];
Обяснение на параметъра
агрегатен_израз: Той указва колоната или израза, чиито NON-NULL стойности ще бъдат преброени.
име_на_таблица: Той определя таблиците, откъдето искате да извлечете записи. Трябва да има поне една таблица, посочена в клаузата FROM.
КЪДЕ условия: Не е задължително. Той определя условията, които трябва да бъдат изпълнени, за да бъдат избрани записите.
mylivecriclet
Пример за функция MySQL count().
Помислете за таблица с име „служители“, която съдържа следните данни.
Нека разберем как работят функциите count(). MySQL .
как да изтрия колона в postgresql
Пример1
Изпълнете следната заявка, която използва функцията COUNT(expression), за да изчисли общия брой имена на служители, налични в таблицата:
mysql> SELECT COUNT(emp_name) FROM employees;
Изход:
Пример2
Изпълнете следния оператор, който връща всички редове от таблицата на служителите и клаузата WHERE указва редовете, чиято стойност в колоната emp_age е по-голяма от 32:
mysql> SELECT COUNT(*) FROM employees WHERE emp_age>32;
Изход:
Пример3
случайно число c код
Този оператор използва функцията COUNT(отличен израз), която преброява ненулевите и отделните редове в колоната emp_age:
mysql> SELECT COUNT(DISTINCT emp_age) FROM employees;
Изход:
Функция MySQL Count() с клауза GROUP BY
Можем също да използваме функцията count() с клаузата GROUP BY, която връща броя на елемента във всяка група. Например следният израз връща броя на служителите във всеки град:
mysql> SELECT emp_name, city, COUNT(*) FROM employees GROUP BY city;
След успешното изпълнение ще получим резултата по-долу:
Функция MySQL Count() с клауза HAVING и ORDER BY
Нека видим друга клауза, която използва ORDER BY и клауза Having с функцията count(). Изпълнете следния оператор, който дава името на служителя, който има поне две еднакви възрасти и ги сортира въз основа на резултата от преброяването:
колелото за превъртане не работи
mysql> SELECT emp_name, emp_age, COUNT(*) FROM employees GROUP BY emp_age HAVING COUNT(*)>=2 ORDER BY COUNT(*);
Това изявление ще даде изхода, както следва: