logo

Функция MySQL Count().

Функцията 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().

Помислете за таблица с име „служители“, която съдържа следните данни.

mysql count()

Нека разберем как работят функциите count(). MySQL .

как да изтрия колона в postgresql

Пример1

Изпълнете следната заявка, която използва функцията COUNT(expression), за да изчисли общия брой имена на служители, налични в таблицата:

 mysql> SELECT COUNT(emp_name) FROM employees; 

Изход:

mysql count()

Пример2

Изпълнете следния оператор, който връща всички редове от таблицата на служителите и клаузата WHERE указва редовете, чиято стойност в колоната emp_age е по-голяма от 32:

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

Изход:

mysql count()

Пример3

случайно число c код

Този оператор използва функцията COUNT(отличен израз), която преброява ненулевите и отделните редове в колоната emp_age:

 mysql> SELECT COUNT(DISTINCT emp_age) FROM employees; 

Изход:

mysql count()

Функция MySQL Count() с клауза GROUP BY

Можем също да използваме функцията count() с клаузата GROUP BY, която връща броя на елемента във всяка група. Например следният израз връща броя на служителите във всеки град:

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

След успешното изпълнение ще получим резултата по-долу:

mysql count()

Функция 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(*); 

Това изявление ще даде изхода, както следва:

mysql count()