Функция SQL COUNT ()
Функция COUNT ()
Функция SQL COUNT () возвращает количество строк в таблице, удовлетворяющих критериям, указанным в предложении WHERE. Он устанавливает количество строк или ненулевых значений столбцов.
COUNT () возвращает 0, если не было совпадающих строк.
Синтаксис:
COUNT (*) COUNT (выражение [ALL | DISTINCT])
Приведенный выше синтаксис является общим стандартным синтаксисом SQL 2003 ANSI. Это помогает понять, как используется функция SQL COUNT (). Но разные поставщики баз данных могут по-разному применять функцию COUNT ().
Ниже вы можете видеть, что MySQL, PostgreSQL и Microsoft SQL Server используют тот же синтаксис, что и приведенный выше. Но DB2 и Oracle немного отличаются.
В целом, вы можете использовать * или ALL или DISTINCT или какое-либо выражение вместе с COUNT, чтобы СЧИТАТЬ число строк по какому-либо условию или по всем строкам, в зависимости от аргументов, которые вы используете вместе с функцией COUNT ().
Поддержка СУБД: функция COUNT ()
СУБД | команда |
MySQL | поддержанный |
PostgreSQL | поддержанный |
SQL Server | поддержанный |
оракул | поддержанный |
Синтаксис DB2 и Oracle:
COUNT ({* | [DISTINCT] выражение}) OVER (window_clause)
Параметры:
название | Описание |
---|---|
ВСЕ | Относится ко всем значениям. ALL возвращает количество ненулевых значений. |
DISTINCT | Игнорируемые повторяющиеся значения и COUNT возвращает количество уникальных ненулевых значений. |
выражение | Выражение состоит из одной константы, переменной, скалярной функции или имени столбца, а также может быть фрагментами запроса SQL, которые сравнивают значения с другими значениями. Выражение любого типа, кроме текста или изображения. Агрегатные функции и подзапросы не допускаются. |
* | СЧИТЫВАЕТ все строки в целевой таблице независимо от того, содержат ли они значения NULL. |
Синтаксическая диаграмма - функция COUNT ()
На последующих страницах мы обсудили, как применять COUNT () с различными предложениями SQL. Для этих приложений мы использовали Oracle 10g Express Edition.
Важная вещь о функции COUNT ():
Когда * используется для COUNT (), все записи (строки) считаются COUNTed, если некоторое содержимое NULL, но COUNT (column_name) не считает COUNT запись, если ее поле имеет значение NULL. Смотрите следующие примеры:
SQL COUNT строки в таблице
В следующем примере используется символ звездочки (*), за которым следует SQL COUNT (), который указывает все строки таблицы, даже если есть какое-либо значение NULL.
Пример таблицы: заказы
Чтобы получить количество строк в таблице 'orders', можно использовать следующую инструкцию SQL:
Код SQL:
SELECT COUNT(*)
FROM orders;
Выход:
COUNT (*) --------- 34
Иллюстрированная презентация:
Выберите COUNT (*) из нескольких таблиц
Следующий запрос COUNT количество строк из двух разных таблиц (здесь мы используем сотрудников и отделов) с помощью команды COUNT (*).
Код SQL:
SELECT(
SELECT COUNT(*)
FROM employees
) AS Total_Employees,
(SELECT COUNT(*)
FROM departments
) AS No_Of_Departments
FROM dual
Выход:
TOTAL_EMPLOYEES NO_OF_DEPARTMENTS --------------- ----------------- 107 27
SQL COUNT () с именем столбца
В этом примере функция SQL COUNT () исключает значения NULL для определенного столбца, если столбец указан в качестве аргумента в скобках функции COUNT.
Образец таблицы: listofitem
Чтобы получить количество строк в таблице listofitem со следующим условием:
1. COUNT количество строк для столбца «coname»
можно использовать следующий оператор SQL:
Код SQL:
SELECT COUNT(coname)
FROM listofitem;
Выход:
COUNT (CONAME) ------------- 2
Объясните:
Приведенный выше оператор СЧИТАЕТ те строки для столбца coname, которые не равны NULL.
Строки SQL COUNT с определенным пользователем заголовком столбца
Получить количество строк в таблице «заказов» при следующем условии -
1. результат должен отображаться с заголовком «Количество рядов»,
можно использовать следующий оператор SQL:
Код SQL:
SELECT COUNT( *) as "Number of Rows"
FROM orders;
Выход:
Количество рядов -------------- 36
SQL COUNT () с предложением where
Предложение WHERE может использоваться вместе с функцией SQL COUNT (). выбрать конкретные записи из таблицы в соответствии с заданным условием.
Пример:
Пример таблицы: заказы
Чтобы получить количество строк в таблице «заказов» при следующем условии -
1. ord_amount против заказа более 1500,
можно использовать следующий оператор SQL:
SELECT COUNT( * ) as "Number of Rows"
FROM orders
WHERE ord_amount>1500;
Выход:
Количество рядов -------------- 22
Применение функции COUNT ()
На последующих страницах мы обсудили, как применять COUNT () с различными предложениями SQL. Для этих приложений мы использовали Oracle 10g Express Edition.
Страница COUNT with DISTINCT обсуждает, как применять функцию COUNT с DISTINCT, а также обсуждает, как применять функцию COUNT с предложением ALL. В отличие от использования *, когда используется ALL, значения NULL не выбираются.
На странице COUNT HAVING рассказывается, как применить функцию COUNT с предложением HAVING, а также с HAVING и GROUP BY.
Страница COUNT с GROUP BY описывает, как применить функцию COUNT с GROUP BY в порядке возрастания и в порядке убывания.
Примечание. Выводы указанного оператора SQL, показанного здесь, взяты с использованием Oracle Database 10g Express Edition.
Вот слайд-презентация всех агрегатных функций.
Упражнения по SQL
- Упражнения по SQL, практика, решение
- SQL Получить данные из таблиц [33 Упражнения]
- Булевы и реляционные операторы SQL [12 упражнений]
- Подстановочные знаки SQL и специальные операторы [22 упражнения]
- Агрегатные функции SQL [25 упражнений]
- Вывод запроса форматирования SQL [10 упражнений]
- SQL-запросы к нескольким таблицам [7 упражнений]
- ФИЛЬТРАЦИЯ И СОРТИРОВКА в базе данных персонала [38 упражнений]
- SQL СОЕДИНЯЕТ
- SQL ПОДПИСИ
- SQL Union [9 упражнений]
- SQL View [16 упражнений]
- Управление учетными записями пользователей SQL [16 упражнение]
- База данных фильмов
- ОСНОВНЫЕ запросы к базе данных фильмов [10 упражнений]
- ПОДПИСКИ на фильм База данных [16 упражнений]
- ПРИСОЕДИНЯЕТСЯ к базе данных фильма [24 упражнения]
- Футбольная база
- Вступление
- ОСНОВНЫЕ запросы по футболу базы данных [29 упражнений]
- ПОДПИСКИ по футбольной базе данных [33 упражнения]
- База данных больницы
- База данных сотрудников
- ОСНОВНЫЕ запросы к базе данных сотрудников [115 упражнений]
- БРОНИРОВАНИЕ на сотрудника База данных [77 Упражнения]
- Еще не все!
Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.
Предыдущая: Агрегатные функции
Следующая: COUNT с отличным
Новый контент: Composer: менеджер зависимостей для PHP , R программирования