COUNT_BIG (Transact-SQL)

Возвращает количество элементов в группе. Функция COUNT_BIG работает подобно функции COUNT. Единственное различие между двумя функциями — возвращаемые значения. Функция COUNT_BIG всегда возвращает значение типа данных bigint. Функция COUNT всегда возвращает значение типа данных int.

Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (с первоначального выпуска по текущий выпуск).

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

COUNT_BIG ( { [ ALL | DISTINCT ] expression } | * )
   OVER ( [ partition_by_clause ] order_by_clause )

Аргументы

  • ALL
    Применяет агрегатную функцию ко всем значениям. ALL является параметром по умолчанию.

  • DISTINCT
    Указывает, что функция COUNT_BIG возвращает количество уникальных значений, не равных NULL.

  • expression
    Выражение ms190286(v=sql.120).md любого типа. Агрегатные функции и вложенные запросы не допускаются.

  • *
    Указывает, что все строки должны быть подсчитаны для возврата общего числа строк в таблице. Функция COUNT_BIG(*) не имеет параметров и не может быть использована вместе с аргументом DISTINCT. Функция COUNT_BIG(*) не нуждается в параметре expression, так как по определению она не использует сведения о каких-либо особых столбцах. Функция COUNT_BIG(*) возвращает количество строк в заданной таблице, не отбрасывая дубликаты. Она подсчитывает каждую строку отдельно. При этом учитываются и строки, содержащие значения NULL.

  • ALL
    Применяет агрегатную функцию ко всем значениям. ALL является параметром по умолчанию.

  • DISTINCT
    Указывает на то, что функция AVG будет выполнена только для одного экземпляра каждого уникального значения, независимо от того, сколько раз встречается это значение.

  • expression
    Выражение категории типа точных числовых или приблизительных числовых данных, за исключением типа данных bit. Агрегатные функции и вложенные запросы не допускаются.

  • OVER ( [ partition_by_clause ] order_by_clause**)**
    partition_by_clause делит результирующий набор, полученный с помощью предложения FROM, на секции, к которым применяется функция. Если этот параметр не указан, функция обрабатывает все строки результирующего набора запроса как отдельные группы. order_by_clause определяет логический порядок, в котором выполняется операция. Значение order_by_clause обязательно. Дополнительные сведения см. в разделе Предложение OVER (Transact-SQL).

Типы возвращаемых значений

bigint

Замечания

Функция COUNT_BIG(*) возвращает количество элементов в группе. Сюда входят значения NULL и повторяющиеся значения.

Функция COUNT_BIG (ALL expression) вычисляет expression для каждой строки в группе и возвращает количество значений, не равных NULL.

Функция COUNT_BIG (DISTINCT expression) вычисляет expression для каждой строки в группе и возвращает количество уникальных значений, не равных NULL.

COUNT_BIG — это детерминированная функция, если она используется без предложений OVER и ORDER BY. Она не детерминирована при использовании с предложениями OVER и ORDER BY. Дополнительные сведения см. в разделе Детерминированные и недетерминированные функции.

См. также

Справочник

Агрегатные функции (Transact-SQL)

Функция COUNT (Transact-SQL)

int, bigint, smallint и tinyint (Transact-SQL)

Предложение OVER (Transact-SQL)