Функция 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 |