Функция COUNT
Функция COUNT подсчитывает количество
записей в таблице. Условие, по которому будут
выбираться записи, задается с помощью команды
WHERE.
Команда WHERE не является обязательной, если
ее не указать - будут подсчитаны все записи
в таблице.
Синтаксис
Подсчет всех записей:
SELECT COUNT(*) FROM имя_таблицы WHERE условие
Подсчет всех записей, где заданное поле не равно NULL:
SELECT COUNT(поле) FROM имя_таблицы WHERE условие
Только уникальные значения поля:
SELECT COUNT(DISTINCT поле) FROM имя_таблицы WHERE условие
Таблицы для примеров
| 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 |
Меняем таблицу для примеров
| 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 |