SQL Функция COUNT()
Функция COUNT() возвращает количество строк, соответствующее заданному критерию.
Синтаксис COUNT()
SELECT COUNT(column_name)
FROM table_name
WHERE condition;
Демо база данных
Ниже приведен выбор из таблицы Products, использованной в примерах:
| ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
|---|---|---|---|---|---|
| 1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
| 2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
| 3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
| 4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22 |
| 5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
Указать столбец
Вы можете указать имя столбца вместо символа звездочки (*).
Если вы укажете имя столбца вместо (*), значения NULL не будут учитываться.
Найдите количество продуктов, в которых значение ProductName не равно нулю:
SELECT COUNT(ProductName)
FROM Products;
Попробуйте сами »
Добавьте предложение WHERE
Вы можете добавить предложение WHERE для указания условий:
Найдите количество продуктов, где Price больше 20:
SELECT COUNT(ProductID)
FROM Products
WHERE Price > 20;
Попробуйте сами »
Игнорировать дубликаты
Вы можете игнорировать дубликаты, используя ключевое слово DISTINCT в функции COUNT().
Если указано значение DISTINCT, строки с одинаковым значением для указанного столбца будут считаться как одна.
Сколько различных цен приведено в таблице Products:
SELECT COUNT(DISTINCT Price)
FROM Products;
Попробуйте сами »
Используйте псевдоним
Присвойте подсчитываемому столбцу имя, используя ключевое слово AS.
Назовите столбец "Number of records":
SELECT COUNT(*) AS [Number of records]
FROM Products;
Попробуйте сами »
Используйте COUNT() с GROUP BY
Здесь мы используем функцию COUNT() и предложение GROUP BY, чтобы вернуть количество записей для каждой категории в таблице Products:
SELECT COUNT(*) AS [Number of records], CategoryID
FROM Products
GROUP
BY CategoryID;
Попробуйте сами »
Вы узнаете больше о предложении GROUP BY позже в этом руководстве.