# Функция COUNT

Функция `COUNT` подсчитывает количество записей в таблице. Условие, по которому будут выбираться записи, задается с помощью команды `WHERE`. Команда WHERE не является обязательной, если ее не указать - будут подсчитаны все записи в таблице.

## Синтаксис

Подсчет всех записей:

`SELECT COUNT(*) FROM имя_таблицы WHERE условие`

Подсчет всех записей, где заданное поле не равно NULL:

`SELECT COUNT(поле) FROM имя_таблицы WHERE условие`

Только уникальные значения поля:

`SELECT COUNT(DISTINCT поле) FROM имя_таблицы WHERE условие`

## Таблицы для примеров

таблица employees
id айди | name имя | age возраст | salary зарплата
--- | --- | --- | ---
1 | user1 | 23 | 400
2 | user2 | 25 | 500
3 | user3 | 23 | 500
4 | user4 | 30 | 900
5 | user5 | 27 | 500
6 | user6 | 28 | 900

## Пример

Давайте подсчитаем в таблице всех работников с возрастом `23` года:

`SELECT COUNT(*) as count FROM employees WHERE age=23`

Результат выполнения SQL запроса:

count результат подсчета
2

## Пример

Давайте подсчитаем в таблице количество разных зарплат (их будет `3` штуки: `400`, `500` и 1000):

`SELECT COUNT(DISTINCT salary) as count FROM employees`

Результат выполнения SQL запроса:

count результат подсчета
3

## Пример

Давайте подсчитаем в таблице одновременно количество разных возрастов и количество разных зарплат:

`SELECT COUNT(DISTINCT age) as count1, COUNT(DISTINCT salary) as count2 FROM employees`

Результат выполнения SQL запроса:

count1 количество возрастов | count2 количество зарплат
--- | ---
5 | 3

## Меняем таблицу для примеров

таблица employees
id айди | name имя | age возраст | salary зарплата
--- | --- | --- | ---
1 | user1 | 23 | NULL
2 | user2 | 25 | 500
3 | user3 | 23 | NULL

## Пример

Давайте подсчитаем количество всех записей:

`SELECT COUNT(*) as count FROM employees`

Результат выполнения SQL запроса:

count результат подсчета
3

А теперь подсчитаем количество зарплат, не равных NULL:

`SELECT COUNT(salary) as count FROM employees`

Результат выполнения SQL запроса:

count результат подсчета
1

## Смотрите также

- команду `DISTINCT`,
  которая позволяет подсчитывать только уникальные значения поля
- команду GROUP BY,
  которая позволяет группировать записи

↑