Database
 sql >> база данни >  >> RDS >> Database

Как да използвам COUNT в SQL?

Как да използвате COUNT в SQL

Въведение

  • БРОЙ( ) е агрегатна функция в SQL.
  • Тази функция отчита броя на записите в таблица, ако условието не е посочено.
  • Ако условието е посочено, функцията за броене връща броя на записите, отговарящи на посоченото условие.

Варианти на COUNT ( ) в SQL

  1. БРОЙ(*)

БРОЙ (*) се използва за показване на броя записи, присъстващи в таблица.

Резултатите от функцията COUNT (*) ще съдържат NULL, както и дублиращи се записи.

Синтаксис:

SELECT COUNT (*) FROM tablename;

Пример:

Първо ще създадем база данни с име “employeedb”. След това в тази база данни ще създадем таблица „служител“ и ще вмъкнем записи в таблицата. Ще разгледаме тази таблица и база данни за всички следващи примери.

Ще намерим броя на записите, присъстващи в таблицата „служител“, като използваме функцията COUNT ().

 mysql> USE employeedb;
 Database changed
 mysql> SELECT *FROM employee;
 +--------+----------+------------+
 | Emp_ID | Emp_Name | Emp_Salary |
 +--------+----------+------------+
 |      1 | Nikita   |      30000 |
 |      2 | Riddhi   |      25000 |
 |      3 | Nayan    |      45000 |
 |      4 | Shruti   |      15000 |
 |      5 | Anurati  |      55000 |
 |      6 | NULL     |       NULL |
 |      7 | Anurati  |      55000 |
 +--------+----------+------------+
 7 rows in set (0.00 sec) 
mysql> SELECT COUNT(*) FROM employee;

Изход:

 +----------+
 | COUNT(*) |
 +----------+
 |        7 |
 +----------+
 1 row in set (0.00 sec) 

В таблицата на служителите има 7 записа.

  • БРОЙ (1)

COUNT (1) също се използва за показване на броя на записите, присъстващи в таблица. Резултатите от функцията COUNT (1) ще съдържат NULL, както и дублиращи се записи. Функцията COUNT (1) работи по същия начин като COUNT (*). Дори резултатите от COUNT (1) и COUNT (*) също са еднакви.

Синтаксис:

SELECT COUNT (1) FROM tablename;

Пример 1: Ще покажем броя на записите, присъстващи в таблицата на служителите, използвайки COUNT (1).

mysql> SELECT COUNT(1) FROM employee;

Изход:

 +----------+
 | COUNT(1) |
 +----------+
 |        7 |
 +----------+
 1 row in set (0.00 sec) 

В таблицата има 7 записа.

Пример 2:

Нека видим какво се случва, когато предадем 14 като параметър на функцията COUNT().

mysql> SELECT COUNT(14) FROM employee;

Изход:

 +-----------+
 | COUNT(14) |
 +-----------+
 |         7 |
 +-----------+
 1 row in set (0.00 sec) 

В таблицата има 7 записа. И така, 7 се показва като изход, въпреки че сме предали 14 като параметър на функцията COUNT(). Предаването на цяло число към функция COUNT() не означава преброяване на този брой редове в таблицата. Това просто означава, че 14 ще бъдат присвоени на всеки ред, присъстващ в таблица, и след това тези редове ще бъдат сумирани, за да дадат обща сума и ще бъдат показани като изход.

Пример 3:

Нека видим какво се случва, когато предадем -14 като параметър на функцията COUNT().

mysql> SELECT COUNT(-14) FROM employee;

Изход:

 +------------+
 | COUNT(-14) |
 +------------+
 |          7 |
 +------------+
 1 row in set (0.07 sec) 

В таблицата има 7 записа. И така, 7 се показва като изход, въпреки че сме предали -14 като параметър на функцията COUNT(). Това просто означава -14 ще бъдат присвоени на всеки ред, присъстващ в таблицата и след това тези редове ще бъдат сумирани, за да дадат обща сума и ще бъдат показани като изход.

  • COUNT(Име на колона)

COUNT(ColumnName) се използва за намиране на броя записи, които съдържат стойности за посочената колона. Докато използвате функцията COUNT() с име на колона като параметър, записите, които съдържат NULL стойности за този запис, ще бъдат игнорирани.

Синтаксис:

SELECT COUNT(ColumnName) FROM tablename;

Пример 1:

Ще покажем броя записи, които съществуват за Emp_ID.

mysql> SELECT COUNT(Emp_ID) FROM employee;

Изход:

 +---------------+
 | COUNT(Emp_ID) |
 +---------------+
 |             7 |
 +---------------+
 1 row in set (0.00 sec) 

Има 7 записа, които съдържат уникален Emp_ID. Следователно 7 се показва като изход.

Пример 2:

Ще покажем броя записи, които съществуват за Emp_Name.

mysql> SELECT COUNT(Emp_Name) FROM employee;

Изход:

 +-----------------+
 | COUNT(Emp_Name) |
 +-----------------+
 |               6 |
 +-----------------+
 1 row in set (0.00 sec) 

В таблицата на служителите има 7 записа, сред които един запис съдържа NULL стойности за Emp_Name. Така че този конкретен запис се игнорира и 6 се показва като изход.

Пример 3:

Ще покажем броя записи, които съществуват за Emp_Salary.

mysql> SELECT COUNT(Emp_Salary) FROM employee;

Изход:

 +-------------------+
 | COUNT(Emp_Salary) |
 +-------------------+
 |                 6 |
 +-------------------+
 1 row in set (0.00 sec) 

В таблицата на служителите има 7 записа, сред които един запис съдържа NULL стойности за Emp_Salary. Така че този конкретен запис се игнорира и 6 се показва като изход.

  • БРОЙ(DISTINCT ColumnnName)

Функцията COUNT() с DISTINCT ColumnName като параметър се използва за показване на броя записи, които съдържат уникални стойности за конкретна колона. Записите, които съдържат дублиращи се и NULL стойности, няма да бъдат отчетени.

Синтаксис:

SELECT COUNT(DISTINCT ColumnName) FROM tablename;

Пример 1:

Ще покажем броя на записите, които съдържат уникални стойности за Emp_ID.

mysql> SELECT COUNT( DISTINCT Emp_ID) FROM employee;

Изход:

 +-------------------------+
 | COUNT( DISTINCT Emp_ID) |
 +-------------------------+
 |                       7 |
 +-------------------------+
 1 row in set (0.05 sec) 

Има 7 записа, които съдържат уникални стойности за Emp_ID.

Пример 2:

Ще покажем броя на записите, които съдържат уникални стойности за Emp_Name.

mysql> SELECT COUNT( DISTINCT Emp_Name) FROM employee;

Изход:

 +---------------------------+
 | COUNT( DISTINCT Emp_Name) |
 +---------------------------+
 |                         5 |
 +---------------------------+
 1 row in set (0.00 sec) 

Има 5 записа, които съдържат уникални стойности за Emp_Name. NULL и дублиращи се стойности в Emp_Name няма да се разглеждат от ключовата дума DISTINCT.

Пример 3:

Ще покажем броя на записите, които съдържат уникални стойности за Emp_Salary.

mysql> SELECT COUNT( DISTINCT Emp_Salary) FROM employee;

Изход:

 +-----------------------------+
 | COUNT( DISTINCT Emp_Salary) |
 +-----------------------------+
 |                           5 |
 +-----------------------------+
 1 row in set (0.00 sec) 

Има 5 записа, които съдържат уникални стойности за Emp_Salary. NULL и дублиращи се стойности в Emp_Salary няма да се разглеждат от ключовата дума DISTINCT.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвате функцията SQL SUM

  2. Модел на база данни за системата за резервации на автошкола. Част 1

  3. Мигриране от AnswerHub към WordPress:Приказка за 10 технологии

  4. Разширен SQL:Вариации и различни случаи на употреба на T-SQL Insert Statement

  5. SET оператори в SQL